Mod_rewrite - Тонкая настройка правил
Кратко:
Донастроить rewrite правила Apache под новую струтуру каталога и изменившиеся запросы
Длинно:
Apache сервер раздаёт статику по урлам вида http://ip/custom/остальная_часть_урла
Настроены сотни тысяч правил вида:
RewriteRule ^custom/compare/powr/atom/info/$ compare-101917.html [L]
Это всё корректно работало до сегоднешнего дня, пока находилось в корне виртуального хоста и запрос соотвествовал указанному виду.
Но, потребовалось сделать две вещи:
1. Всё что есть в корне виртуального хоста http://ip/ переместилось в подпапку dev и все роуты тут же перестали срабатывать
2. Изменились запросы. Вместо http://ip/custom/остальная_часть_урла стали приходить запросы http://ip/dev/остальная_часть_урла
Нужно, не меняя существующих правил, добавить в начало новые правила, так чтобы корректно отдавать статику.
Например на запрос
http://ip/dev/compare/powr/atom/info/
должно так применится в начале правило, чтобы последним подхватилось и сработало:
RewriteRule ^custom/compare/powr/atom/info/$ compare-101917.html [L]
Примечания:
- Существующие правила менять нельзя, они автогенерируются
- На входящие запросы тоже влиять не можем, они приходят не напрямую от пользователей, а от apache mod_proxy другого сервера.
Идеальная реализация:
Добавить пару строчек в начало .htaccess, преобразующих запрос таким образом, чтобы подхватывались старые правила