Столкнулся с проблемой..
В mod_rewrite использую вот такую конструкцию:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpe?g|gif)$ $1.$3
для версионности подключаемых файлов (подробнее здесь) и сброса кэша браузера. Т.е. в html-коде можно писать filename.346467345.ext, которого не существует, а это правило перенаправит на существующий filename.ext. Очень удобно.
Но вот теперь встала необходимость после этого преобразования перенаправлять изображения через свой обработчик:
RewriteRule \.(jpe?g|gif|png)$ images-handler.php
Код images-handler.php (выводит путь к обрабатываемому изображению):
$document_root = $_SERVER['DOCUMENT_ROOT'];
$requested_uri = parse_url(urldecode($_SERVER['REQUEST_URI']), PHP_URL_PATH);
$requested_file = basename($requested_uri);
$source_file = $document_root.$requested_uri;
die($source_file);
Но вот беда - как заставить эти 2 правила работать вместе?
В php-обработчик попадает не обработанный, исходный путь, будь-то с цифрами или без них. А надо, чтобы после преобразования из filename.346467345.ext в filename.ext в php-handler попадало преобразованное имя файла, т.е. без цифр. Но что-то у меня не выходит :-( Я уж и так его, и сяк, а всё бестолку..
Помогите, пожалуйста!
https://github.com/h5bp/html5-boilerplate/b...d#cache-busting