Я настроил сервер на своем Mac (OSX 10.9), но он возвращает ошибку 500 со следующим сообщением в журнале ошибок …
[alert] [client ::1] /Users/user/Sites/mysite/.htaccess: AllowOverride not allowed here
Вот код в моем файле .htaccess
Options +FollowSymLinks -MultiViews AllowOverride All # Turn mod_rewrite on RewriteEngine On RewriteBase / RewriteMap lc int:toLower RewriteCond %{REQUEST_URI} [AZ] RewriteRule (.*) ${lc:$1} [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^i/(.*)/(.*)-(.*)$ /items/?id=$1&range=$2&type=$3 [L,QSA,NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^c/(.*)$ /category/?menu=$1 [L,QSA,NC]
И вот соответствующий код httpd.conf (дайте мне знать, если что-нибудь еще поможет)
DocumentRoot "/Users/user/Sites/mysite" <Directory /> Options FollowSymLinks AllowOverride All Order deny,allow Deny from all </Directory> <Directory "/Users/user/Sites/mysite"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory>
Есть идеи?
AllowOverride All
не принадлежит файлу htaccess. Он используется в конфигурации сервера (httpd.conf) для установки параметров конфигурации сервера, которые файл htaccess может переопределить . Поэтому, очевидно, было бы неправильно настраивать, какие параметры htaccess файлы могут переопределять из файлов htaccess.
Удалите его из файла htaccess. Вы уже определили AllowOverride All
в своем httpd.conf в правильных местах.
AllowOverride контролирует .htaccess-security и -behaviour и не может быть установлен внутри файлов .htaccess.
Drop "AllowOverride All" из .htaccess, вот и все.
Возьмите AllowOverride Все из вашего .htaccess.