最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx服務器中的重定向配置參考指南

 更新時間:2016年05月30日 15:39:08   作者:SJY  
這里簡單整理了一份Nginx服務器中的重定向配置參考指,包括rewrite模塊的配置以及301重定向的設置等,需要的朋友可以參考下

rewrite命令
nginx的rewrite相當于apache的rewriterule(大多數情況下可以把原有apache的rewrite規(guī)則加上引號就可以直接使用),它可以用在server,location 和IF條件判斷塊中,命令格式如下:
rewrite 正則表達式 替換目標 flag標記
flag標記可以用以下幾種格式:

  • last – 基本上都用這個Flag。
  • break – 中止Rewirte,不在繼續(xù)匹配
  • redirect – 返回臨時重定向的HTTP狀態(tài)302
  • permanent – 返回永久重定向的HTTP狀態(tài)301

例如下面這段設定nginx將某個目錄下面的文件重定向到另一個目錄,$2對應第二個括號(.*)中對應的字符串:

location /download/ {
rewrite ^(/download/.*)/m/(.*)\..*$ $1/nginx-rewrite/$2.gz break;
}

nginx重定向的IF條件判斷
在server和location兩種情況下可以使用nginx的IF條件判斷,條件可以為以下幾種:
1.正則表達式
如:匹配判斷
~  為區(qū)分大小寫匹配; !~為區(qū)分大小寫不匹配
 ~* 為不區(qū)分大小寫匹配;!~為不區(qū)分大小寫不匹配
例如下面設定nginx在用戶使用ie的使用重定向到/nginx-ie目錄下:

if ($http_user_agent ~ MSIE) {
rewrite ^(.*)$ /nginx-ie/$1 break;
}

2.文件和目錄判斷
 (1)-f和!-f判斷是否存在文件
 (2)-d和!-d判斷是否存在目錄
 (3)-e和!-e判斷是否存在文件或目錄
 (4)-x和!-x判斷文件是否可執(zhí)行
例如下面設定nginx在文件和目錄不存在的時候重定向:

if (!-e $request_filename) {
proxy_pass http://127.0.0.1;
}

3.return
返回http代碼,例如設置nginx防盜鏈:

location ~* \.(gif|jpg|png|swf|flv)$ {
valid_referers none blocked www.jefflei.com www.leizhenfang.com;
if ($invalid_referer) {
return 404;
}
}

4.set:
設置nginx變量

301重定向代碼
進行301重定向,比如把www.fzitv.net和jb51.net合并,并把之前的域名也一并合并. 有兩種實現方法,第一種方法是判斷nginx核心變量host(老版本是http_host):

server {
server_name www.fzitv.net jb51.net ;
if ($host != 'www.fzitv.net' ) {
rewrite ^/(.*)$ http://www.fzitv.net/$1 permanent;
}
...
}

第二種方法:

server {
server_name jb51.net;
rewrite ^/(.*)$ http://www.fzitv.net/$1 permanent;
}

測試了第一種方法ok,這兩種方法中, permanent是關鍵,詳細說明見nginx重定向規(guī)則說明。

  • last – 基本上都用這個Flag。
  • break – 中止Rewirte,不在繼續(xù)匹配
  • redirect – 返回臨時重定向的HTTP狀態(tài)302
  • permanent – 返回永久重定向的HTTP狀態(tài)301

相關文章

最新評論

衡阳市| 汝州市| 乾安县| 德惠市| 许昌市| 湖南省| 景谷| 红桥区| 讷河市| 平定县| 新绛县| 辽阳县| 珲春市| 海林市| 福海县| 昌吉市| 曲水县| 丰顺县| 佛冈县| 青浦区| 神木县| 自治县| 栾川县| 乌兰察布市| 江川县| 叙永县| 阜平县| 犍为县| 塔城市| 泗洪县| 汕尾市| 丁青县| 巨鹿县| 四平市| 平度市| 东安县| 青铜峡市| 政和县| 纳雍县| 阿瓦提县| 承德县|