Помогите, поажлуйста, с rewrite правилом

Spear

почемучка
Помогите, поажлуйста, с rewrite правилом

Всем привет,

такая ситуация:

В корне сайта папка /js/
в ней примерно такое:

/js/getFile.php
/js/sources/someMegabigJsFile.js


При запросе
http://site.com/js/someMegabigJsFile.js

ReWrite (htaccess) делает следующее:

RewriteEngine On
RewriteRule ^([0-9]*)(/?)(.+).js$ getFile.php?file=$3&ver=$1 [NC]

скрипт getFile.php обрабатывает исходник яваскрипт, пакует его, кеширует и т.п. Всё было ок, пока не пришлось добавлять в папку sources не только .js файлы но и другие (картинки, CSS), которые нужно отдавать просто так

т.е. чтобы по запросу
/js/someExternalPlugin/styles.css
отдавался файл /js/sources/someExternalPlugin/styles.css

Пожалуйста, помогите переписать Rewrite правила. Буду очень благодарен
 

dimagolov

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

Spear

почемучка
нет не лучше. Я описал очень поверхностно что именно делает getFile.php. Помогите разобраться с rewrite'ом пожалуйста)
 

dimagolov

Новичок
Spear, если ты не способен написать элементарное правило Rewrite, почему ты столь уверен в том, что твой костыль getFile.php делает что-то, кроме замедления работы сервера?

если тебе надо в мегабольшой js файл вшивать что-то уникальное для каждого юзера, то это архитектурная ошибка и можно этого избежать выделяя юзерозависимый js код в отдельный файл, а все остальное отдавать статикой.
 

Spear

почемучка
Чувак, блин, что ты прилип, а? ) Я обещаю что сегодня в конце рабочего дня если будет время я специалньо для тебя напишу что делает getFile.php.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
В шаблоне правила ты явно указываешь, что .js
Правда точку нужно екранировать \.

-~{}~ 23.03.09 15:34:

И приведенные тобой примеры
/js/someExternalPlugin/styles.css
/js/sources/someExternalPlugin/styles.css
не попадают в шаблон

-~{}~ 23.03.09 15:37:

[TELEPAT_MODE]
ты случайно не относительные пути используешь?
[/TELEPAT_MODE]
 

Spear

почемучка
Вроде как разобрался

RewriteEngine On
RewriteRule ^([0-9]*)(/?)(.+)\.js$ getFile.php?file=$3&ver=$1 [NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} ^(.*).css$
RewriteRule ^(.+)$ source/$1
 
Сверху