Возможно ли «разнести» запросы на один и тот же файл через mod_rewrite?

Привет, хабр!

Сказывается перманентная лень на новогодние праздники, не могу разрешить задачку через mod_rewrite.

На текущий момент временное решение есть, но не убиваемая доля перфекционизма, а отчасти стыда протестует и просит найти ГРАМОТНОЕ.


Есть новый сайт /site/, есть старый сайт /site/old/.

Шаблоны старого сайта сверстаны так, что вся статика запрашивается от рута. Фактически нереально что-либо править (хотя если прижмет, парсер напишу).

Таким образом нужно правило, которое все запросы из
site/old/ к /site/style.css перенаправляли бы /site/old/style.css

Пока я сделал для рутового .htaccess правило
RewriteRule ^(.*)\.(css|js|jpg|png|gif)$ old/$0

(рутовый каталог пока пустой и терпит подобное издевательство).

Тем не менее, статика отдается теперь из другого каталога.

Насколько я понимаю любые правила из /site/old/.htaccess к /site/ будут проигнорированы. Или нет?

Каким образом мне отловить запрос к /site/style.css из /site/old/ и проигнорировать запрос на статику именно из рута?
  • Вопрос задан
  • 3209 просмотров
Решения вопроса 1
Wott
@Wott
Используйте RewriteCond с HTTP_REFERER для статики
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
romy4
@romy4
Exception handler
Если нужно просто пробрасывать на другой каталог, то для RewriteRule используйте флаг [PT], чтобы подзапрос уже отрабатывался там, куда вы перекинули.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы