Назад | Перейти на главную страницу

Как исправить ошибку Apache «клиент отклонен конфигурацией сервера»?

Я использую cPanel и Apache и вижу следующую ошибку в моем error_log:

[Среда, 02 февраля, 09:06:04 2011] [ошибка] [клиент 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 файл, чтобы решить эту проблему?

мое изображение менеджера веб-хостинга

Проверьте свои варианты. Вы должны иметь

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]

Если это не сработает, вам нужно откопать конфигурацию вашего сервера и изменить там параметры.