日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Nginx:Nginx配置url重定向

發(fā)布時(shí)間:2024/1/3 综合教程 34 生活家
生活随笔 收集整理的這篇文章主要介紹了 Nginx:Nginx配置url重定向 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

符號(hào)含義:

正則表達(dá)式匹配:

 ~ 為區(qū)分大小寫匹配

 ~* 為不區(qū)分大小寫匹配

 !~和!~*分別為區(qū)分大小寫不匹配及不區(qū)分大小寫不匹配

文件及目錄匹配:

 -f和!-f用來判斷是否存在文件

 -d和!-d用來判斷是否存在目錄

 -e和!-e用來判斷是否存在文件或目錄

 -x和!-x用來判斷文件是否可執(zhí)行

flag標(biāo)記

 last 相當(dāng)于Apache里的[L]標(biāo)記,表示完成rewrite;完成重寫指令,之后搜索相應(yīng)的URI或location。

 break 終止匹配, 不再匹配后面的規(guī)則;完成重寫指令。

 redirect 返回302臨時(shí)重定向;如果替換字段用http://開頭則被使用。

permanent 返回301永久重定向 地址欄會(huì)顯示跳轉(zhuǎn)后的地址。

可用的全局變量有,可以用做條件判斷:

$args, 請(qǐng)求中的參數(shù);

$content_length, HTTP請(qǐng)求信息里的"Content-Length";

$content_type, 請(qǐng)求信息里的"Content-Type";

$document_root, 針對(duì)當(dāng)前請(qǐng)求的根路徑設(shè)置值;

$document_uri, 與$uri相同;

$host, 請(qǐng)求信息中的"Host",如果請(qǐng)求中沒有Host行,則等于設(shè)置的服務(wù)器名;

$limit_rate, 對(duì)連接速率的限制;

$request_method, 請(qǐng)求的方法,比如"GET"、"POST"等;

$remote_addr, 客戶端地址;

$remote_port, 客戶端端口號(hào);

$remote_user, 客戶端用戶名,認(rèn)證用;

$request_filename, 當(dāng)前請(qǐng)求的文件路徑名

$request_body_file

$request_uri, 請(qǐng)求的URI,帶查詢字符串;

$query_string, 與$args相同;

$scheme, 所用的協(xié)議,比如http或者是https,比如rewrite ^(.+)$ $scheme://example.com$1 redirect;

$server_protocol, 請(qǐng)求的協(xié)議版本,"HTTP/1.0"或"HTTP/1.1";

$server_addr, 服務(wù)器地址,如果沒有用listen指明服務(wù)器地址,使用這個(gè)變量將發(fā)起一次系統(tǒng)調(diào)用以取得地址(造成資源浪費(fèi));

$server_name, 請(qǐng)求到達(dá)的服務(wù)器名;

$server_port, 請(qǐng)求到達(dá)的服務(wù)器端口號(hào);

$uri, 請(qǐng)求的URI,可能和最初的值有不同,比如經(jīng)過重定向之類的。


可以使用在 server, location, if 區(qū)域的關(guān)鍵字:

return指令:該指令用于結(jié)束規(guī)則的執(zhí)行并返回狀態(tài)碼給客戶端

示例:如果訪問的URL以".sh"或".bash"結(jié)尾,則返回403狀態(tài)碼
location ~ .*.(sh|bash)?$
{
return 403;
}

rewrite 指令:使用nginx提供的全局變量或自己設(shè)置的變量,結(jié)合正則表達(dá)式和標(biāo)志位實(shí)現(xiàn)url重寫以及重定向

rewrite 語法格式:

rewrite regex(正則) replacement flag (rewrite 源地址 目標(biāo)地址)

flag:斷開上次永久重定向
last: last一般寫在server和if中 停止執(zhí)行其他重寫規(guī)則,根據(jù)URI繼續(xù)搜索其他location
break:break一般使用在location url重寫后,直接使用當(dāng)前資源,不再執(zhí)行l(wèi)ocation里余下的語句,完成本次請(qǐng)求
redirect:302臨時(shí)重定向,地址欄改變,爬蟲不更新URI
permanent:301永久重定向。地址欄改變,爬蟲更新URI

示例:把http://example.com/old.php?para=xxx 重定向到 http://example.com/new

不去參數(shù):

寫法:rewrite ^/old.php(.*) /new permanent;

結(jié)果:http://example.com/new?para=xxx


去掉參數(shù):

寫法:rewrite ^/old.php(.*) /new? permanent;

結(jié)果:http://example.com/new

詳情請(qǐng)看:https://blog.csdn.net/luomao2012/article/details/81167945

總結(jié)

以上是生活随笔為你收集整理的Nginx:Nginx配置url重定向的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。