nginx的rewrite
經過網上查閱和測試,發現nginx的rewrite規則和apache的rewite規則差別不是很大,幾乎可以直接使用。比如在apache中這樣寫規則
1
rewrite ^/([0-9]).html$ /viewthread.php?tid=$1 last;
而在nginx中寫成這樣寫是無法啟動的,解決的辦法是加上兩個雙引號:
1
rewrite
"^/([0-9]).html$"
/viewthread.php?tid=$1 last;
同時將rewriterule為rewrite,基本就實現了nginx的rewrite規則到apache的rewite規則的轉換。
rewrite的flags
last - 基本上都用這個flag。
break - 中止rewirte,不在繼續匹配
redirect - 返回臨時重定向的http狀態302
permanent - 返回永久重定向的http狀態301
Nginx基礎的Rewrite規則
rewrite是nginx乙個特別重要的指令,該指令可以使用正規表示式改寫uri。可以指定乙個或多個rewrite指令,按順序匹配 區分大小寫匹配 不區分大小寫匹配 和 區分大小寫不匹配及不區分大小寫不匹配 f和 f 判斷是否存在檔案 d和 d 判斷是否存在目錄 e和 e 判斷是否存在檔案或目錄 x...
Nginx中的rewrite指令
rewite 在server塊下,會優先執行rewrite部分,然後才會去匹配location塊 server中的rewrite break和last沒什麼區別,都會去匹配location,所以沒必要用last再發起新的請求,可以留空.location中的rewirte 不寫last和break 那...
Nginx中的rewrite指令
rewite 在server塊下,會優先執行rewrite部分,然後才會去匹配location塊 server中的rewrite break和last沒什麼區別,都會去匹配location,所以沒必要用last再發起新的請求,可以留空.location中的rewirte 不寫last和break 那...