.htaccess重写不能在localhost上工作(mac os x apache) - 修复

时间:2012-04-05 16:04:30

标签: .htaccess mod-rewrite localhost

我在Mac OS X(Snow Leopard)上使用内置的Apache对我的网站进行本地测试。目前我正在尝试为我的PHP网站创建干净的URL,但我似乎无法让它工作。

这是我的.htaccess:

Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^gallery/page/([A-Z0-9._%+-]+) gallery/index.php?page=$1 [NC]

我想拥有它以便 http:// localhost / gallery / page / TITLE 会自动将我带到 http://localhost/gallery/index.php?页= TITLE

我的 http:// localhost / 指向本地文件夹 / Users / voltm / Sites / localhost / ,我正在处理的网站位于 http:// localhost / gallery / - 本地文件夹 / Users / voltm / Sites / localhost / gallery /

当我在浏览器中输入 http:// localhost / gallery / page / music 时,我收到404错误请求的网址/图库/页面/音乐是在此服务器上找不到

我查看了错误日志文件并说:

[Thu Apr 05 23:55:39 2012] [error] [client 127.0.0.1] File does not exist: /Users/voltm/Sites/localhost/gallery/page

我已经检查了phpinfo()和httpd.conf以查看mod_rewrite是否已加载。 我已经进入httpd.conf和用户文件夹中的conf文件进行设置:

Options Indexes MultiViews FollowSymLinks
AllowOverride All AuthConfig
Order allow,deny
Allow from all

我也已经多次重启Apache了。

我错过了什么?


编辑:修正了!我不得不删除我在子文件夹中躺着的.htaccess文件。

1 个答案:

答案 0 :(得分:0)

终于想通了!经过几个小时的挫折 - 安装了MAMP,摆弄了conf文件并查看了错误日志 - 我终于遇到了the comment at the bottom of this page,它说我不应该有.htaccess文件"在MAMP之上和之外# 39; s webroot目录"。我在gallery /文件夹中有另一个.htaccess文件,我将其删除了 - 现在一切正常。