Php .htaccess重写规则-请求的URL<;重写的文件名>;在此服务器上找不到

Php .htaccess重写规则-请求的URL<;重写的文件名>;在此服务器上找不到,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我一直在WAMP中测试这个,但我无法让它工作。我相信由于我收到的错误消息,WAMP设置正确,当我不使用.htaccess文件时,它不会出现问题 我有一个用于测试的文件名,叫做Feedback.php。而不是显示为www.mysite.com/Feedback.php。我试图让它成为www.mysite.com/Feedback .htaccess文件 RewriteEngine on RewriteRule ^Feedback.php/?$ Feedback [NC] 我收到的错误消息是 “未

我一直在WAMP中测试这个,但我无法让它工作。我相信由于我收到的错误消息,WAMP设置正确,当我不使用.htaccess文件时,它不会出现问题

我有一个用于测试的文件名,叫做Feedback.php。而不是显示为
www.mysite.com/Feedback.php
。我试图让它成为
www.mysite.com/Feedback

.htaccess文件

RewriteEngine on
RewriteRule ^Feedback.php/?$ Feedback [NC]
我收到的错误消息是

“未找到
在此服务器上未找到请求的URL/反馈。”

重写规则需要两个文件才能工作吗

我还试图让我的index.php成为www.mysite.com,这可能是另一个怪物

我的导航栏链接应该是什么?现在他们是
一旦我开始工作,他们是否应该
href
或者
href=“Feedback”


编辑:我将规则变量向后重写。而不是

RewriteRule ^Feedback.php/?$ Feedback [NC]
我应该

RewriteRule ^Feedback/$ /Feedback.php [NC,L]

重写看起来没有发生,因为它仍然读取localhost/Feedback.php

您可以使用它从页面中删除
.php
扩展名,并省略网站的
索引部分:

Options +FollowSymlinks
RewriteEngine On

RewriteCond %{THE_REQUEST} /index
RewriteRule ^index$ http://yourwebsite.com/         [R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php                            [L]

你的做法正好相反。您的规则应该是
RewriteRule^Feedback$/Feedback.php[NC,L]
。这总是像
RewriteRule WHERE
谢谢!我不知道。我的URL仍然可以读取,所以虽然加载了,但重命名看起来不起作用。@john stamos我在回答中使用了代码段,它对我来说总是有效的。我相信错的是我的href链接不是。我们将引用新名称,对吗?当然!!您需要将
.php
从链接中排除
www.examplesite.com/examplepage
*****!我是新手。谢谢你的澄清。欢迎你,我们都是学习新东西的新手,我很高兴这有帮助