.htaccess mod rewrite and MAMP


.htaccess mod rewrite and MAMP

我认为这与在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]