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;
}
Saya mahu mengkonfigurasinya dengan cara di atas, nilai dahulu $args
dan kemudian tulis semula, saya tidak tahu sama ada ia boleh.
Dan bagaimanakah saya harus menulis [[excluding mode=test]]?
Ia telah diuji dan ini tidak mungkin $args tidak boleh digunakan dalam keadaan if. Jadi bagaimana idea ini harus dilaksanakan?
Saya mencuba kedua-dua kaedah dalam balasan, dan apabila saya memulakan semula nginx, ralat yang sama berlaku:
nginx: [emerg] unknown directive "if($arg_mode" in ....
dan
nginx: [emerg] unknown directive "if($query_string" in ....
Adakah kerana modul if tidak dipasang?
jika ( $arg_mode !~ w+ ){
tulis semula (.*) /index.html?mode=test redirect;
}