htaccess не работает

Каждый раз ставя Apache, сталкиваюсь с одними и теми же проблемами. Часто бывает, что после всех настроек не работает .htaccess. Погуглив слегка, заметил, что у многих такая проблема. Поэтому решил (по большей части для себя) мануальчик написать, чтоб впредь сразу ответ найти, если понадобиться.

Шаг 1. Включить модуль в Apache. Для этого открываем httpd.conf и раскоменчиваем LoadModule rewrite_module modules/mod_rewrite.so.

Шаг 2. Включить возможность переопределения правил в Apache. Для этого в httpd.conf находим блок <Directory “путь до директории с вашим”>…</Directory>, если нет то создаем его. Что-то вроде такого будет:
<Directory “...”>
AllowOverride All
Order allow,deny
Allow from all
</Directory>

Если есть, то добавляем либо меняем опцию AllowOverride:
AllowOverride All

AllowOverride All указывает, что если существует файл .htaccess, то все директивы прописанные в нем будут выплняться (и будут переписывать одноимённые дерективы прописанные в настройках Апача). Если же не хотите чтоб сервер читал файл .htaccess то замените “All” на “None”.

Шаг 3. Включить директиву AccessFileName в Apache. Порой шагов 1+2 недостаточно, для этого в конфиге Апача надо прописать внизу AccessFileName .htaccess.

  Категории: Коддинг