Apache mod_rewrite 在 Mac OS X 10.6 (Snow Leopard) 上无法正常工作

Apache mod_rewrite 在 Mac OS X 10.6 (Snow Leopard) 上无法正常工作

我正在尝试使用 Apache 的 mod_rewrite 并使用 .htaccess 文件创建一个具有干净 URL 的 PHP 网站。mod_rewrite 似乎正在运行,但是,它声称无法在我的服务器上找到存在的文件。

只是作为一个基本测试,这是我的 .htaccess 文件目前的样子 - 转到 [mysite]/page 应该重定向到 index.php 文件:

Options +FollowSymLinks
RewriteEngine on

RewriteRule ^page$ index.php

据我所知,我也已适当地设置了.conf 文件:

<Directory "/Users/myuser/Sites/">
    Options Indexes MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

但是,当我尝试通过 mod_rewrite ( localhost/~myuser/mysite/page ) 访问 URL 设置时,出现以下信息:

Not Found

The requested URL /Users/myuser/Sites/mysite/index.php was not found on this server.

但是,该文件确实存在,而且位置正确!否则,网站可以正常工作,如果我转到 localhost/~myuser/mysite/index.php,则一切正常 - 当然,减去任何类型的干净 URL。

有人之前见过这种情况吗/有人知道我做错了什么吗?

答案1

如果您在用户目录中并替换为相对路径,则需要 RewriteBase。

答案2

您必须在 Multiviews 后添加 FollowSymlinks。我在这里为整个过程写了一个教程:

http://www.jermexpress.com/how-to-enable-mod_rewrite-on-snow-leopard-10-6/

希望这能解决你的问题。干杯!:)

相关内容