Php .htaccess重写规则-请求的URL<;重写的文件名>;在此服务器上找不到
我一直在WAMP中测试这个,但我无法让它工作。我相信由于我收到的错误消息,WAMP设置正确,当我不使用.htaccess文件时,它不会出现问题 我有一个用于测试的文件名,叫做Feedback.php。而不是显示为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] 我收到的错误消息是 “未
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
*****!我是新手。谢谢你的澄清。欢迎你,我们都是学习新东西的新手,我很高兴这有帮助