Я обновил свой ноутбук с Ubuntu 10.04 до Ubuntu 11.10. Теперь мой веб-сервер apache, похоже, не распознает файл .htaccess, потому что ни одна из моих перезаписей URL-адресов не работает. Я попробовал a2enmod rewrite
но apache говорит, что он уже включен. Я перезапустил сервер apache, но мои перезаписи по-прежнему не работают. Я попытался ввести мусорный текст в свой файл .htaccess, надеясь создать такие ошибки, как 500 внутренних ошибок сервера, но ошибок не произошло. Как будто Apache даже не читает мои файлы .htaccess. В моем файле apache2.conf есть строка, в которой говорится AccessFileName .htaccess
.
Как мне снова заставить мои RewriteRules в файле .htaccess работать?
Хорошо, если .htaccess
файлы действительно не анализируются, вам нужен AllowOverride
директива в вашей основной конфигурации:
AllowOverride FileInfo
(это позволит вашим директивам mod_rewrite, используйте All
если вам нужно разрешить любую директиву)
Кстати, зачем использовать .htaccess
вообще? Из документы:
В общем, вы никогда не должны использовать файлы .htaccess, если у вас нет доступа к основному файлу конфигурации сервера.
Взгляните на директиву AllowOverride, которая контролирует, какие записи принимаются в .htaccess. Это настраивается в контексте Справочника.
http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride