htaccess не работает

Вы создали в директории с сайтом файл .htaccess, но чтобы вы туда не писали, ни одна директива не работает. Почему?

Скорее всего здесь виновата опция AllowOverride в apache.

Куда же ее вставлять?

Заходим в конфигурационный файл Apache — httpd.conf. В FreeBSD он располагается здесь:

/usr/local/etc/apache/httpd.conf

В других системах расположение другое. Но в целом не так трудно его найти:)

Находим такой блок <Directory «путь до директории с вашим htaccess»>…</Directory>, если нет то создаем его:

<Directory «/usr/local/www/apache22/data/site.ru»>
AllowOverride All
Order allow,deny
Allow from all
</Directory>

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

AllowOverride All

/usr/local/www/apache22/data/site.ru — это абсолютный путь до вашей директории, где лежит файл .htaccess

AllowOverride All — здесь сказано что если существует файл .htaccess, то все (All) директивы прописанные в нем выполнять. Кстати если не хотите чтоб сервер читал файл .htaccess то замените «All» на «None».

Allow from all — доступ к папке имеют все.

После того как добавили блок с описанием вашей директории перезапускаем apache.

Теперь все директивы в файле .htaccess должны отрабатывать.

Комментарии
Если статья вам помогла (или не помогла), оставьте комментарий с отзывом для других пользователей и автора
Добавить комментарий

Ваш адрес email не будет опубликован.

Sidebar