#apache #.htaccess #mod-rewrite
#apache #.htaccess #мод-перезапись
Вопрос:
где я ошибаюсь в этом htaccess, потому что /assets / папка не исключена из правила перезаписи. Когда я получаю доступ:http://www.site.com/assets/images/sidebar1/some/pic.pngs не возвращает 404, как я ожидал.
Options -Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/?(assets|css)/
RewriteRule . index.php
Спасибо
Ответ №1:
В вашем правиле говорится :
перепишите все в index.php когда :
URL-адрес не является файлом, не является каталогом и не находится в /assets/
или /css/
.
Запрашиваемый вами файл не является файлом, а не каталогом и находится в assets/
:
Итак, все в порядке с правилом, НО! в вашем журнале показано, что вы запрашиваете /home/valentin/public_html/404.shtml
(автоматическое перенаправление для неизвестного объекта!)
И этот запрос снова проходит через правила!
Это не файл (соответствует!-f), не каталог (соответствует!-d), и его нет ни в assets/
, ни в css/
, после чего он перезаписывается в index.php
Вопрос и ответ
Вы можете исправить это, поместив файл 404.shtml в свою public_html/
папку или измените его в конфигурации apache на реальный файл.
Комментарии:
1. Спасибо за ответ, я добавил 404.shtml в папку, тогда я
ve got same thing. Isn
не могу получить браузер 404, не являющийся cusom? valentinivascu.ro/rewrite.txt пожалуйста, посмотрите новый журнал2. Я думаю, что 404.shtml проиндексирован где-то в конфигурации apache. Найдите что-то вроде ‘ErrorDocument 404 / 404.shtml` в ваших конфигурационных файлах.
3. Да, спасибо, кажется, это была проблема. Настроенный документ с ошибкой из apache 🙂 Хорошего дня