.htaccess RewriteRule и FallbackResource не работают

Я тестирую материал на localhost, и это мой файл.htaccess:

RewriteEngine On
RewriteRule ^login/?$ login.php [NC,L]
FallbackResource error.php

в моем корневом каталоге (/var/www). Это просто не работает. Я уже установил "AllowOverride All" в файле конфигурации: если я помещаю мусор в файл.htaccess, я получаю внутреннюю ошибку сервера (а не 404), что означает (я думаю), что AllowOverride установлен правильно. Я получаю "Перезапуск модуля уже включен", если я даю "a2enmod rewrite" и, конечно же, перезапустил apache. Любое предложение? Я не знаю, где искать.

1 ответ

У меня такая же проблема. Я обнаружил, что эта ошибка произошла только тогда, когда я попытался получить доступ к адресу с расширением.php. Если, например, я попытался получить доступ к test.mydomain.com/home.php, я получил бы ошибку 404. Если, однако, я попытался получить доступ к test.mydomain.com/home.html, у меня не было проблем. Поэтому я думал, что это связано с тем, что php вмешивается в перенаправление.

Оказывается, мне пришлось прокомментировать следующую строку в файле public_html.htaccess:

#AddHandler application/x-httpd-php5s .php

После этого я мог получить доступ к файлам в папке webroot.

licensed under cc by-sa 3.0 with attribution.