Я использую следующий код .htaccess, чтобы включить дружественные URL-адреса на веб-сайте.
<IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?$1 [L] </IfModule>
Код работает отлично с небольшим исключением. Когда я запрашиваю файл в браузере (т. Е. Изображение), браузер загружает его (как и следовало ожидать), но вместе с этим выполняется index.php.
Интересно, почему.
Оказалось, что браузер GET /favicon.ico
запросы GET /favicon.ico
и поскольку на сервере не было файлов с этим именем, на основе правил в файле .htaccess
, запросы перенаправлялись на /index.php
.