Советы по перенаправлению 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-совместимое регулярное выражение с некоторыми дополнениями.

Другие вопросы по тегам