mod_rewrite и несколько преобразований подряд

AlOshka

Новичок
Здравствуйте!

Столкнулся с проблемой..

В mod_rewrite использую вот такую конструкцию:
PHP:
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpe?g|gif)$ $1.$3
для версионности подключаемых файлов (подробнее здесь) и сброса кэша браузера. Т.е. в html-коде можно писать filename.346467345.ext, которого не существует, а это правило перенаправит на существующий filename.ext. Очень удобно.

Но вот теперь встала необходимость после этого преобразования перенаправлять изображения через свой обработчик:
PHP:
RewriteRule \.(jpe?g|gif|png)$ images-handler.php
Код images-handler.php (выводит путь к обрабатываемому изображению):
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 попадало преобразованное имя файла, т.е. без цифр. Но что-то у меня не выходит :-( Я уж и так его, и сяк, а всё бестолку..

Помогите, пожалуйста!
 

AlOshka

Новичок
PHP:
RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpe?g|gif)$ images-handler.php?file=$1.$3
Да это-то понятно :)

Но вот как сделать, чтобы без
PHP:
?file=$1.$3
?
Хотя, думаю, пофиг в принципе, сделаю так.

В любом случае, спасибо! :)
 
Сверху