0

嗨,我在 mac 上使用 apache,我启用了 php。我正在尝试使用 .htacess 重写我的网址。

http://localhost/~username/project/test  to http://localhost/~username/project/index.php?url=test
But received 404 error - on retrieving url - http://localhost/~username/project/test .

But - this - http://localhost/~username/project/index.php?url=test - Php is working fine.

我的 .htacess 文件包含以下五行:


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

我可以在 php info 的加载模块中看到 mod_rewrite。我如何调试它以找出是否正在调用 .htaccess 。

我的 .htaccess 文件的路径是 - ~username/Sites/project/.htaccess。

4

1 回答 1

0

故障排除

确保您没有对相关文件范围有效的 AllowOverride None。对此的一个很好的测试是将垃圾放入您的 .htaccess 文件并重新加载页面。如果未生成服务器错误,则几乎可以肯定 AllowOverride None 有效。

或者反过来,在 htaccess 中添加一些垃圾,即

Foobar

并重新加载页面。如果您收到一些500服务器错误消息,AllowOveride则启用 htaccess ( )。

于 2013-04-22T07:08:11.127 回答