NGINX 重定向

NGINX重定向

語法:rewriteregexreplacement[flag];

默認值:

使用:

Serverlocation,if

server定義一個站點,location定義站點目錄位置

如果指定的正則表達式能匹配URI,此URI將被replacement參數定義的字符串改寫。

rewrite指令按其在配置文件中出現的順序執行。flag可以終止後續指令的執行。

如果replacement的字符串以http://https://開頭,nginx將結束執行過程,

並返回給客戶端一個重定向。

可選的flag參數可以是其中之一:

last

停止執行當前這一輪的ngx_http_rewrite_module指令集,然後查找匹配改變後URI的新location;

break

停止執行當前這一輪的ngx_http_rewrite_module指令集;

redirect

在replacement字符串未以http://https://開頭時,使用返回狀態碼爲302的臨時重定向;

permanent

返回狀態碼爲301的永久重定向。

完整的重定向URL將按照請求協議($scheme)、server_name_in_redirect指令和port_in_redirect指令的配置進行補全

例子:

Nginx結合php是靠fastcgi,修改nginx的配置文件,讓nginx可以調用php頁面。

122029895.png

location/{

roothtml;

indexindex.phpindex.htmlindex.htm;

}

1,訪問站點主目錄下的任何jpg的請求都被定向到主頁面

rewrite"^/.*\.jpg$"/index.php;

122051106.png

122051422.png

2,Rewrite"^/(.*)/(.*)\.bmp$"/$1/$2.jpg訪問站點目錄下的任何目錄下的任何以.bmp結尾的圖片,都要被重定向到站點目錄下的相同目錄下的任何以.jpg結尾的文件。

122111662.png

3,訪問站定主目錄下的任何文件,將被重定向到另外一臺web服務器上的站點主目錄下的index.php目錄裏面。

http://192.168.2.100/1.bmp

http://192.168.2.100/index.php---->http://192.168.20.100/index.php

Rewrite/.*http://192.168.20.100/index.php;

122127226.png

4,將訪問www.abc.com/forum重定向到www.abc.com/bbs

域名訪問修改host文件

rewrite"/froum/*"/bbs;

122145632.png

122145596.png

server{

...

rewrite^(/download/.*)/media/(.*)\..*$$1/mp3/$2.mp3last;

rewrite^(/download/.*)/audio/(.*)\..*$$1/mp3/$2.ralast;

return403;

...

}

5,實現域名跳轉

比如訪問www.abc.com站點下的任何文件或目錄---》,都定向到www.tyedus.com

http://www.abc.com

"/*"http://www.tyedus.com

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章