如何修复 Apache 错误“服务器配置拒绝客户端”?

如何修复 Apache 错误“服务器配置拒绝客户端”?

我正在使用 cPanel 和 Apache,并且在我的系统中看到以下错误error_log

[2011 年 2 月 2 日星期三 09:06:04] [错误] [客户端 110.34.4.242] 服务器配置拒绝客户端:/home/websmart/public_html/.htaccess

我的项目基于 PHP 5.3,使用 zend 框架。我的.htaccess文件包含:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -s [OR]

RewriteCond %{REQUEST_FILENAME} -l [OR]

RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^.*$ - [NC,L]

RewriteRule ^.*$ index.php [NC,L]

谁能告诉我是什么原因导致了这个错误以及我应该如何修改我的.htaccess文件来解决这个问题?

我的虚拟主机管理器图片在此处输入图片描述

答案1

检查你的选择。你必须

Options +FollowSymLinks

启用每个目录的重写规则。

http://httpd.apache.org/docs/current/mod/mod_rewrite.html#RewriteRule

如果您的服务器级配置允许,您可以将“Options +FollowSymLinks”指令放在同一个 .htaccess 文件中。服务器级配置必须将“AllowOverride”指令设置为“all”,或者必须包含“Options”或“Options=FollowSymLinks”才能允许您执行此操作。请参阅http://httpd.apache.org/docs/current/mod/core.html#allowoverride

因此,至少尝试将其作为您的 .htaccess 文件:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

如果这不起作用,您将需要挖掘服务器配置并修改那里的选项。

相关内容