RewriteEngine on 给出错误 403
Posted
技术标签:
【中文标题】RewriteEngine on 给出错误 403【英文标题】:RewriteEngine on gives error 403 【发布时间】:2011-12-01 19:29:25 【问题描述】:索引文件存在并且有效。 当我使用 ONLY 行创建 .htaccess 文件时:
RewriteEngine On
服务器上的任何页面都给我:
禁止访问!
您无权访问请求的对象。它是 服务器读保护或不可读。
如果您认为这是服务器错误,请联系网站管理员。 错误 403 mysite.com 2011 年 10 月 5 日星期三 22:25:25 Apache/2.2.3 (Linux/SUSE)
一些服务器信息:
加载的模块核心 prefork http_core mod_so mod_actions mod_alias mod_auth_basic mod_authn_file mod_authz_host mod_authz_groupfile mod_authz_default mod_authz_user mod_authn_dbm mod_autoindex mod_cgi mod_dir mod_env mod_expires mod_include mod_log_config mod_mime mod_negotiation mod_setenvif mod_ssl mod_suexec mod_userdir mod_rewrite mod_php5
Apache 版本:
SERVER_SOFTWARE Apache/2.2.3 (Linux/SUSE)
也这样做了:
Options FollowSymLinks
在 httpd.conf 的目录部分
日志只说明错误的事实,而不是原因:
89.112.xx.x - - [05/Oct/2011:22:32:34 +0200] "GET /info.php HTTP/1.1" 403 1040 "-" "Mozilla/5.0 (Windows NT 6.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
::1 - - [05/Oct/2011:22:32:45 +0200] "GET / HTTP/1.0" 200 1 "-" "Apache/2.2.3 (Linux/SUSE) (internal dummy connection)"
感谢您的帮助!
【问题讨论】:
请查看以下链接。它会帮助你***.com/questions/22621643/… 【参考方案1】:地点
Options +SymLinksIfOwnerMatch
作为 .htaccess 文件的第一行。这解决了我的问题。
【讨论】:
+FollowSymLinks
是重写引擎所必需的。如果您查看 apache docs 上的 Per-directory Rewrites,您将看到这一点。或者可以使用+SymLinksIfOwnerMatch
,尽管我认为这一切都取决于你的apache配置,在性能和安全方面。
Options +FollowSymLinks
帮助了我。谢谢。
工作就像一个魅力......如果你也能解释原因,将不胜感激。【参考方案2】:
最可能的原因是您的主 conf 文件的权限受到限制。你有没有这样的一行:
<Directory />
AllowOverride None
</Directory>
在您的主 conf 文件中?这将阻止您使用 .htaccess 文件更改任何内容。
您可以在他们的网站上找到有关apache permissions 的更多信息。
【讨论】:
是的,有一行“AllowOverride None”,我已经删除它,重新启动 apache,但它仍然给我 403。这是当前目录部分:在 httpd.conf 中检查代码块。默认情况下,在 Mac 上它非常严格。如果它只是本地的并且你不太在意,你可以像这样打开它:
<Directory />
Options All
AllowOverride All
Order deny,allow
Allow from all
</Directory>
这可能会有所帮助,或者可能是文件权限本身。 /var/log/apache2/error_log 和 /var/log/apache2/access_log 还可以为您提供更多关于正在发生的事情的详细信息。
【讨论】:
【参考方案4】:感谢 Tarun 的回答,Options All
为我完成了这项工作:
<Directory "/path/to/apache/root"/>
Options All
...
</Directory>
【讨论】:
以上是关于RewriteEngine on 给出错误 403的主要内容,如果未能解决你的问题,请参考以下文章
打开 RewriteEngine 会产生 403 错误——如何打开 FollowSymLinks?
.htaccess RewriteEngine 在 xampp 中导致 Unexpected 403 Forbidden http 响应代码
text 在RewriteEngine On之后,将此代码段添加到Joomla网站的.htaccess
mod_rewrite RewriteEngine On 不工作