Regex Redirect Destination - PullRequest
       20

Regex Redirect Destination

0 голосов
/ 06 ноября 2018

Мне нужно перенаправить несколько страниц на основе одного раздела URL, поэтому эти страницы:

site/type1
site/type1/page1
site/type1/page2
site/type1/page3

необходимо перенаправить на:

site/type2
site/type2/page1
site/type2/page2
site/type2/page3

На самом деле задействовано более 4 страниц.

Я думаю, что могу использовать триггер:

(.*)/type2(.*)

но я поставлен в тупик, как установить пункт назначения, чтобы он динамически заполнял оставшуюся часть URL тем, что был на предыдущей странице.

Любые идеи приветствуются.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

Вы можете просто найти site\/type1 и заменить его на site\/type2

Я протестировал его с помощью vim, и он отлично работал для меня :%s/site\/type1/site\/type2/g Надеюсь, это поможет вам

0 голосов
/ 06 ноября 2018

Ваш язык, вероятно, поддерживает замену регулярным выражением.

Это регулярное выражение, которое вы должны использовать:

(.*\/)type1(\/.*|$)

Это немного отличается от предложенного вами. Ваше регулярное выражение будет соответствовать type2 вместо type1, но вы хотите перенаправить с type1 на type2, верно? Еще одна вещь, которую я изменил, это группа 2. Если вы не хотите, чтобы такие вещи, как site/type1b, превратились в site/type2b, тогда вам следует написать вторую группу как \/.*|$.

Для замены вы должны использовать $1type2$2, что означает «материал, захваченный в группе 1, затем type2, за которым следует материал, захваченный в группе 2».

Здесь - это онлайн-демонстрация вышеприведенного регулярного выражения и замены. Вы можете использовать функцию «Генератор кода» для генерации кода, который выполняет эту замену на вашем языке, если вы не уверены, как заменить его на регулярное выражение.

...