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;
}
我想用上面這種方式來配置,先判斷$args
,再進行rewrite,不知道能行不。
還有那個[[不包含mode=test]]該怎麼寫?
已經測試過了,這樣是不行的,if條件裡不能用$args。那應該如何實現這個思路呢?
用回覆裡的兩種方法都試過了,重啟nginx的時候,都會出同樣的錯誤:
nginx: [emerg] unknown directive "if($arg_mode" in ....
and
nginx: [emerg] unknown directive "if($query_string" in ....
是因為if模組沒安裝?
if ( $arg_mode !~ w+ ){
rewrite (.*) /index.html?mode=測試重定向;
}
雷雷