
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=2020
com 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 map
ao 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 if
blocos:
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
mapeia o conteúdo da variável de entrada para a variável de saída. $arg_id
pega o argumento de consulta id
do URI. Acima map
, o nginx compara o id
argumento com 69
. Se corresponder, $idmap
obtém o valor 1. Caso contrário, obtém o valor 0.
Argumentos monat
e jahr
são tratados de forma semelhante. Suas variáveis de saída são concatenadas em if
comparação e, se ambos os argumentos corresponderem aos valores especificados em map
, o rewrite
procedimento será executado.