Советы по перенаправлению mod_alias
Все. Я ищу сайты, но не могу найти свой ответ, поэтому я публикую его.
Я хочу перенаправить URL, как это
example.com/css /.... ====> example.com/templates/css /...
example.com/path/css /.... ====> example.com/path/templates/css /...
Я устал много регулярно, я не хочу. такие как
RedirectMatch (.*)/css/(.*)\.css $1/templates/css/$2.css
Я думаю, что последний регулярный может быть правильным. но нужно установить регулярный ленивый режим. Я нахожу документ apache о mod_alias и mod_rewrite, не нашёл разговоров об этих советах.
нужна помощь. Спасибо!
2 ответа
Хорошо, я проверил это, и я наклонился, чтобы подтвердить свойства XD.
(^(t(?!emplates)|[^t])*?)/(css|js)/(.*)\.(css|js)$ $1/templates/$3/$4.$5
это работает очень хорошо для меня. надежда может помочь некоторым людям.
Вы получаете ленивый матч, добавляя ?
после *
, как это:
(.*?)/css/(.*?)\.css
*
затем пытается сопоставить как можно меньше. Это должно преобразовать URL в вашем примере, как вы ожидаете.
Кстати, Apache mod_rewrite - это Perl-совместимое регулярное выражение с некоторыми дополнениями.