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


.htaccess ReWriteRule - Requested URL <rewritten filename> was not found on this server

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

我有一个用于测试的文件名,称为反馈.php。 而不是显示为www.mysite.com/Feedback.php . 我试图让它变得www.mysite.com/Feedback.

.htaccess 文件

RewriteEngine on
RewriteRule ^Feedback.php/?$ Feedback [NC]

我收到的错误消息是

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

重写规则是否需要两个文件才能工作?

我也在努力让它为我的索引工作.php只是 www.mysite.com 这可能是一个不同的怪物。

我的导航栏链接应该是什么? 现在他们正在<a href="Feedback.php">Feedback</a>一旦我开始工作,href也许应该href="Feedback"吗?


编辑:我把ReWriteRule变量倒过来了。 而不是

RewriteRule ^Feedback.php/?$ Feedback [NC]

我应该有

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

重写似乎没有发生,因为它仍然读取本地主机/反馈.php

您可以使用

它从页面中删除.php扩展名,以及省略您网站的index部分:

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]