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

Как включить .htaccess для Apache 2 в Ubuntu 11.10

Я обновил свой ноутбук с 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