RewriteEngine на дает ошибку 403 - PullRequest
       16

RewriteEngine на дает ошибку 403

19 голосов
/ 06 октября 2011

Индексный файл существует и работает. Когда я создаю .htaccess файл с единственной строкой:

RewriteEngine On 

Любая страница на сервере дает мне:

Доступ запрещен!

У вас нет прав доступа к запрошенному объекту. Это либо защищен от чтения или не читается сервером.

Если вы считаете, что это ошибка сервера, обратитесь к веб-мастеру. Ошибка 403 mysite.com ср 5 окт 22:25:25 2011 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_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)"

Спасибо за любую помощь!

Ответы [ 4 ]

36 голосов
/ 12 сентября 2013

Место

Options +SymLinksIfOwnerMatch

как первая строка вашего файла .htaccess. Это решило проблему для меня.

2 голосов
/ 07 июня 2014

Проверьте в 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 также могут дать вам немного больше информации о том, что происходит.

2 голосов
/ 06 октября 2011

Наиболее вероятная причина в том, что ваш главный файл conf имеет ограниченные разрешения.У вас есть строка вроде:

<Directory /> 
    AllowOverride None 
</Directory>

в вашем основном файле conf?Это лишит вас возможности изменять что-либо с помощью файла .htaccess.

Подробнее о разрешениях apache можно узнать на их веб-сайте.

0 голосов
/ 29 августа 2018

Благодаря ответу Таруна, Options All сделал за меня работу:

<Directory "/path/to/apache/root"/>
    Options All
    ...
</Directory>
...