Перенаправление NGNIX с двумя параметрами

Перенаправление NGNIX с двумя параметрами

Итак, на данный момент у меня работает следующее:

if ($request_uri = "/web/news.php?id=69") {
    rewrite ^ https://www.camper-center.ch/? last;
}

Но теперь у меня также есть URL-адреса /web/listing.php?monat=02&jahr=2020с двумя параметрами вместо одного, как выше.

if ($request_uri = "/web/listing.php?monat=02&jahr=2020") {
    rewrite ^ https://www.camper-center.ch/news/aktuell.html?month=02&year=2020? last;
}

Кажется, это не работает. Есть ли у вас какие-либо предложения?

Поскольку он перенаправил меня на сайт с немецкими параметрами, я перенаправил их, и в итоге у меня это сработало следующим образом:

if ($request_uri = "/news/aktuell.html?monat=02&jahr=2020") {
    rewrite ^ https://www.camper-center.ch/news/aktuell.html?month=02&year=2020? last;
}

решение1

Пытаться:

if ($args ~* "/web/listing.php?monat=02&jahr=2020") {
    rewrite ^ https://www.camper-center.ch/news/aktuell.html?month=$arg_monat&year=$arg_jahr? last;
}

https://nginx.org/en/docs/http/ngx_http_core_module.html#variables

Просто адаптируйтесь к своим потребностям.

решение2

Вы можете попробовать следующий подход. Добавьте mapв httpуровень:

map $arg_id $idmap {
    default 0;
    "69" 1;
}

map $arg_monat $monatmap {
    default 0;
    "02" 1;
}

map $arg_jahr $jahrmap {
    default 0;
    "2020" 1;

Затем используйте следующие ifблоки:

if ($idmap = 1) {
    rewrite ^ https://www.camper-center.ch/? last;
}

if ($jahrmap$monatmap = "11") {
    rewrite ^ https://www.camper-center.ch/news/aktuell.html?month=02&year=2020 last;
}

mapсопоставляет содержимое входной переменной с выходной переменной. $arg_idпринимает аргумент запроса idиз URI. В примере mapвыше nginx сравнивает idаргумент с 69. Если он совпадает, $idmapполучает значение 1. В противном случае получает значение 0.

Аргументы monatи jahrобрабатываются аналогично. Их выходные переменные объединяются в ifсравнении, и если оба аргумента соответствуют значениям, указанным в map, то rewriteвыполняется .

Связанный контент