У меня есть файл htaccess, который, как предполагается, перенаправляет любые несуществующие файлы / папки / и т. Д. В скрипт index.php приложения, где они обрабатываются при переписывании SEO приложения.
Проблема в том, что любые отсутствующие изображения также перенаправляются в приложение, что вызывает большую дополнительную нагрузку и является ненужным. Я пытался заставить этот файл htaccess игнорировать изображения, но хотя этот должен работать, это не так, и у меня совершенно нет идей относительно того, почему ...
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !.*\.(gif|png|jpe?g|ico|swf)$ [NC]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php?sef_rewrite=1 [L]
Когда я делаю запрос к http://www.domain.com/folder_that_doesnt_exist/image.jpg, это перенаправляет на index.php
Когда я делаю запрос к http://www.domain.com/folder_that_does_exist/image.jpg, он также перенаправляет на индексный скрипт
Я не уверен, что мне здесь не хватает, потому что, если не указано ИЛИ, разве RewriteRule не должен применяться, только если запрос передает все операторов RewriteCond? который он явно не должен проходить ...
Обновление:
Я изменил код следующим образом, чтобы устранить возможные проблемы, но он все еще перенаправляет все несуществующие изображения в сценарий ...
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !\.(gif|png|jpe?g|ico|swf)$ [NC]
RewriteCond %{REQUEST_FILENAME} !\.(gif|png|jpe?g|ico|swf)$ [NC]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php?sef_rewrite=1 [L]