您好,登錄后才能下訂單哦!
怎么在nginx中重定向目錄路徑?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
1 nginx修改root映射
修改root映射實現nginx目錄訪問重定向是最簡單的方式, 推薦采用這一種.
location /image { root /folderName; }
2 通過nginx rewrite內部跳轉實現訪問重定向
nginx配置代碼示例:
location /image { rewrite ^/image/(.*)$ /folderName/image/$1 last; }
3 nginx設置別名alias映射實現
配置示例:
location /image { alias /folderName/image; #這里寫絕對路徑 }
4 通過nginx的permanent 301絕對跳轉實現
配置示例:
location /image { rewrite ^/image/(.*)$ http://dashidan.com/folderName/image/$1; }
5 通過判斷uri實現頁面跳轉
配置示例:
if ( $request_uri ~* ^(/image)){ rewrite ^/image/(.*)$ /folderName/image/$1 last; }
nginx location匹配規則
location匹配命令
~ #波浪線表示執行一個正則匹配,區分大小寫
~* #表示執行一個正則匹配,不區分大小寫
^~ #^~表示普通字符匹配,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄
= #進行普通字符精確匹配
@ #"@" 定義一個命名的 location,使用在內部定向時,例如 error_page, try_files
=前綴的指令嚴格匹配這個查詢。如果找到,停止搜索。
所有剩下的常規字符串,最長的匹配。如果這個匹配使用^?前綴,搜索停止。
正則表達式,在配置文件中定義的順序。
如果第3條規則產生匹配的話,結果被使用。否則,如同從第2條規則被使用。
location 匹配的優先級(與location在配置文件中的順序無關)
= 精確匹配會第一個被處理。如果發現精確匹配,nginx停止搜索其他匹配。
普通字符匹配,正則表達式規則和長的塊規則將被優先和查詢匹配,也就是說如果該項匹配還需去看有沒有正則表達式匹配和更長的匹配。
^~ 則只匹配該規則,nginx停止搜索其他匹配,否則nginx會繼續處理其他location指令。
最后匹配理帶有"~"和"~*"的指令,如果找到相應的匹配,則nginx停止搜索其他匹配;當沒有正則表達式或者沒有正則表達式被匹配的情況下,那么匹配程度最高的逐字匹配指令會被使用。
location = / { # 只匹配"/". [ configuration A ] } location / { # 匹配任何請求,因為所有請求都是以"/"開始 # 但是更長字符匹配或者正則表達式匹配會優先匹配 [ configuration B ] } location ^~ /images/ { # 匹配任何以 /images/ 開始的請求,并停止匹配 其它location [ configuration C ] } location ~* \.(gif|jpg|jpeg)$ { # 匹配以 gif, jpg, or jpeg結尾的請求. # 但是所有 /images/ 目錄的請求將由 [Configuration C]處理. [ configuration D ] }
關于怎么在nginx中重定向目錄路徑問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。