我认为这与在mamp中重写mod有关。
重写在实时服务器上工作得很好,但我在本地使用MAMP并遇到问题。
问题与此有关:
我重写了下面的URL:
http://localhost/BuildSanctuary-Dev/viewbuild/64/three-fiddy-z/1
应该重写为:
http://localhost/BuildSanctuary-Dev/viewbuild.php?id=64&title=three-fiddy-z&page=1
问题是,我得到一个404页没有找到。
The requested URL /viewbuild.php was not found on this server.
这显然是…但如果我只访问/viewbuild.php,它就能正常工作。
.htaccess中的重写是:
RewriteRule ^viewbuild/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ /viewbuild.php?id=$1&title=$2&page=$3 [L,QSA]
任何想法?我已经做了研究,apache配置文件中的所有内容都显示为允许所有…
谢谢。
您的rewriterrule重定向到/viewbuild.php
而不是/BuildSanctuary-Dev/viewbuild.php
:
RewriteRule ^viewbuild/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ /BuildSanctuary-Dev/viewbuild.php?id=$1&title=$2&page=$3 [L,QSA]
一个更好的变体可能是把。htaccess放到/BuildSanctuary-Dev/
文件夹中,并使用相对路径作为重定向:
RewriteBase /BuildSanctuary-Dev
RewriteRule ^viewbuild/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ viewbuild.php?id=$1&title=$2&page=$3 [L,QSA]