Рейтинг:0

Регулярное выражение для удаления определенных шаблонов из URL-адресов

флаг cn

Итак, я пробовал это несколько раз, но безрезультатно.

По сути, я пытаюсь проверить, имеет ли URL-адрес определенный языковой стандарт, удалить его и выполнить перенаправление 301 на родительский URL-адрес без языкового стандарта. Например, у меня...

www.domain.com/mx/en-us/product/asset/23456768
www.domain.com/de/en-gb/product/asset/34565768
www.domain.com/ar/en-us/product/asset/34567788
www.domain.com/ar/en-us/affiliates

Шаблон, который я хотел бы удалить, - это любой случай / en-us или же / en-gb. Таким образом, новые URL-адреса будут выглядеть...

www.domain.com/mx/product/asset/23456768
www.domain.com/de/product/asset/34565768
www.domain.com/ar/product/asset/34567788
www.домен.com/ar/affiliates

У меня есть это, но оно не работает в NGINX

сервер {
    переписать ^/en-us(.*)$ $1 последним;
    переписать ^/en-gb(.*)$ $1 последним;
    вернуть 301;
  }

Я что-то пропустил? Должен ли я не использовать перезапись? И можно ли это сделать в одну строку?

yagmoth555 avatar
флаг cn
Привет ! для любого редактирования, пожалуйста, войдите в свою учетную запись, и это позволит вам также комментировать людям свой собственный пост. Спасибо за понимание !
Рейтинг:1
флаг gr

Если все ваши URI должны соответствовать заданному вами шаблону (двухбуквенный префикс перед частью локали):

переписать "^(/\w{2})/en-(?:us|gb)(/.*)" $1$2 постоянный;

(шаблон регулярного выражения следует указывать в кавычках из-за использования фигурных скобок)

Если такая длина префикса может варьироваться:

переписать ^(/\w+)/en-(?:us|gb)(/.*) $1$2 постоянный;

Чтобы соответствовать локали везде:

переписать ^(.*)/en-(?:us|gb)/(.*) $1/$2 постоянный;

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.