我已经在WAMP中对此进行了测试,但我无法让它发挥作用。由于我收到的错误消息,我认为WAMP设置正确,当我不使用.htaccess文件时,它没有问题。
我有一个文件名,我用它来测试名为Feedback.php。而不是显示为 www.mysite.com/Feedback.php
。我试图让它成为 www.mysite.com/Feedback
。
.htaccess文件
RewriteEngine on
RewriteRule ^Feedback.php/?$ Feedback [NC]
我收到的错误消息是
"未找到
在此服务器上找不到请求的URL /反馈。"
reWriteRule是否需要两个文件才能工作?
我也试图让我的index.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]
重写看起来没有发生,因为它仍然读取localhost / Feedback.php
答案 0 :(得分:1)
您可以使用此功能从您的网页中删除.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]