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

Apache .htaccess не работает

У меня есть доступ к машине Ubuntu с установленным apache, к которой я подключаюсь с помощью PuTTy.

По какой-то причине мой файл .htaccess не работает, вот и все, что он содержит:

ErrorDocument 404 /handler.php

Вместо перехода на страницу handler.php он распечатывает общую страницу Apache Not Found.

Я искал в Google и все, что я могу найти, это информация о том, что в вашей конфигурации apache для AccessFileName установлено значение .htaccess, а для AllowOverride установлено значение All.

Я внес изменения в свой файл конфигурации (/etc/apache2/apache2.conf), и теперь он содержит следующее:

AccessFileName .htaccess

<Directory />
    AllowOverride All
    #AllowOverride None
</Directory>

Я перезапустил apache (sudo /etc/init.d/apache2 restart), но у меня все еще возникает та же проблема.

Извините, я не знаком с Linux и Apache Config.

grep -R AllowOverride /etc/apache2 : попробуйте увидеть, не накладывает ли какой-либо активный файл конфигурации (в conf.d или с поддержкой сайтов) некоторые ограничения на родительский каталог вашего веб-корневого каталога (для / это нормально, но если кто-то может наложить ограничение на / var / www / мой сайт). Вы можете проверить, что .htaccess читается, установив deny со всех сторон (вы должны получить отказ в доступе)

Apache не может найти ваш файл handler.php.

Этот файл должен находиться в самой папке DocumentRoot на VirtualHost (веб-сайте).

Определенно да, и он находится в том же каталоге, что и файл .htaccess

Это могло быть твоей проблемой. Путь в этой директиве всегда относится к папке DocumentRoot, а не к расположению файла .htaccess.

Проверить URL http://www.example.com/handler.php поскольку это URL-адрес, на который вы указываете Apache для перенаправления.

http://httpd.apache.org/docs/2.2/mod/core.html#errordocument