Работа с поврежденными изображениями в контексте дружественных URL-адресов


Я использую следующий код .htaccess для включения удобных URL-адресов на веб-сайте.

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]

Все работает так, как должно, но есть кое-что, что меня беспокоит. Когда, скажем, я запрашиваю страницу, на которой есть <img src="sth.png" /> и sth.png не существует на сервере, код .htaccess даст указание серверу сделать запрос на index.php?sth.png, что приведет к совершенно ненужной загрузке всей структуры веб-сайта.

Что я могу сделать, чтобы предотвратить это?

Author: Emanuil Rusev, 2011-10-09

1 answers

Добавление этой секунды перезаписи:

RewriteCond %{REQUEST_FILENAME} !\.png$

Следует исключить файлы PNG из-под действия правил перезаписи.

Но, как сказано в комментарии, я бы рассмотрел возможность обработки 404-х в index.php независимо от их типа - они не должны происходить так часто, чтобы загрузка PHP-файла в любом случае становилась проблемой производительности.

 3
Author: Pekka 웃, 2011-10-09 11:36:41