日期:2014-05-16  浏览次数:20879 次

htaccess伪静态导致的403错误

apache安装后伪静态的时候无论如何都无法完成。这时我检查了我的 apache 配置,配置如下:


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

而且我的 LoadModule rewrite_module libexec/apache2/mod_rewrite.so 也是打开的,很奇怪 typecho 的伪静态设置竟然无法完成。访问首页出现了 403 错误,说我没有权限:

You don’t have permission to access /wordpress on this server.

正常情况下 AllowOverride 设置为 all ,rewrite 模块加载,伪静态都是没问题的。

很奇怪的问题,查看了服务器的 log,发现了这样一段:

Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /User/user/Sites/wordpress

答案:

如果没有启用mod_rewrite,可以用Options None 来保证安全性。

如果启用了mod_rewrite, 那么Options就一定要启用FollowSymLinks或者SymLinksifOwnerMatch, 否则会出现Fobidden页面禁止访问的错误。

于是把 Options 的选项加上 FollowSymLinks 就没问题了。

?