nginx rewrite с отображением

Я столкнулся со следующей проблемой перезаписи и сопоставления, и я не совсем уверен, что делать (но я думаю, что модули перезаписи nginx и nginx - это то, что нужно) Я хотел бы услышать несколько идей. Заранее спасибо - извините за плохой английский, я стараюсь изо всех сил. Мне нужна помощь с сопоставлением со структурой URL-адреса string2

: domain.com/string1/string2/string3

  • если string1 = "this", то перезаписать

  • string2 следует сопоставить как

    hello -> abc
    whatsup -> xyz
    dontknow -> 1o1

  • string3

так что

/ example / hello / you -> без перенаправления
domain.com/this/whatsup/man -> домен. org / xyz / man

надеюсь, вы понимаете, что я пытаюсь сказать. С нетерпением жду вашего ответа.

0
задан 19 January 2018 в 19:12
1 ответ

Предположим, что string1 и string2 не содержат /, для захвата string3 используйте rewrite, например:

map $request_uri $new {
    default                 0;
    ~^/this/hello/          abc;
    ~^/this/whatsup/        xyz;
    ~^/this/dontknow/       1o1;
}

server {
    ...

    if ($new) {
        rewrite ^/[^/]+/[^/]+(.*)$ /$new$1 permanent;
    }

    ...
}
1
ответ дан 4 December 2019 в 16:02

Теги

Похожие вопросы