location / {
if($args *~ "mode=formal"){
rewrite (.*) ? redirect;
rewrite (.*) ?mode=test redirect;
}
else if($args [[不包含mode=test]]){
rewrite ^/(.*).html$ /.html?mode=test redirect;
}
error_page 404 = @nodejs;
}
Ich möchte es wie oben beschrieben konfigurieren, zuerst beurteilen $args
und dann neu schreiben, ich weiß nicht, ob es möglich ist.
Und wie soll ich [[exklusive Modus=Test]] schreiben?
Es wurde getestet und dies ist nicht möglich. $args können nicht in der if-Bedingung verwendet werden. Wie soll diese Idee nun umgesetzt werden?
Ich habe beide Methoden in der Antwort ausprobiert und als ich Nginx neu gestartet habe, ist der gleiche Fehler aufgetreten:
nginx: [emerg] unknown directive "if($arg_mode" in ....
und
nginx: [emerg] unknown directive "if($query_string" in ....
Liegt es daran, dass das if-Modul nicht installiert ist?
if ( $arg_mode !~ \w+ ){
rewrite (.*) /index.html?mode=test redirect;
}