http - 如何讓nginx的rewrite規則(redirect)只執行一次?
某草草
某草草 2017-05-16 17:20:30
0
1
603
rewrite ^/(.*).html$ /.html?mode=test redirect;

現在有上面那樣的rewrite規則,可以生效,但會多次redirect。如何修改才能讓它只跳一次?

break也不行,因為break不會修改瀏覽器網址列。

例如:
http://xxx.xx.xx/weather/bug.html會一直跳下去,出現weather/bug.html?mode=test&mode=test&mode= test&mode=test&mode=test&mode=test&mode=test&mode=test&mode……

更新

    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]]該怎麼寫?

某草草
某草草

全部回覆(1)
小葫芦

用last試試看

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板