Redirecionamento NGNIX com dois parâmetros

Redirecionamento NGNIX com dois parâmetros

Então, no momento, isso está funcionando para mim:

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

Mas agora também tenho URLs /web/listing.php?monat=02&jahr=2020com dois parâmetros em vez de um como acima.

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

isso não parece funcionar. Você tem alguma sugestão?

Como ele me redirecionou para o site com parâmetros alemães, eu os redirecionei e no final funcionou assim para mim:

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

Responder1

Tentar:

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

Basta adaptar às suas necessidades.

Responder2

Você poderia tentar a seguinte abordagem. Adicione um nível mapao 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;

Em seguida, use os seguintes ifblocos:

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;
}

mapmapeia o conteúdo da variável de entrada para a variável de saída. $arg_idpega o argumento de consulta iddo URI. Acima map, o nginx compara o idargumento com 69. Se corresponder, $idmapobtém o valor 1. Caso contrário, obtém o valor 0.

Argumentos monate jahrsão tratados de forma semelhante. Suas variáveis ​​de saída são concatenadas em ifcomparação e, se ambos os argumentos corresponderem aos valores especificados em map, o rewriteprocedimento será executado.

informação relacionada