中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nginx多location怎么配置

發布時間:2023-04-12 17:32:23 來源:億速云 閱讀:117 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“nginx多location怎么配置”,內容詳細,步驟清晰,細節處理妥當,希望這篇“nginx多location怎么配置”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

前言

nginx server下配置多個location根據路徑匹的不同做不同的處理。

nginx常用正則表達式

語法規則: location [=|~|~*|^~] /uri/ { … }

  • = 開頭表示:精確匹配。

  • ^~ 開頭表示:區分大小寫以什么開頭。

  • ~ 開頭表示:區分大小寫的正則匹配。

  • ~* 開頭表示:不區分大小寫的正則匹配。

  • !~ 和!~*分別表示:區分大小寫 不匹配 及不區分大小寫 不匹配的正則匹配。

  • / 表示:通用匹配,任何請求都會匹配到。

多個location配置的情況下匹配順序為(未驗證):

首先匹配 =,其次匹配^~, 其次是按文件中順序的正則匹配,最后是交給 / 通用匹配。當有匹配成功時候,停止匹配,按當前匹配規則處理請求。

實測

server {
    listen       80;
    listen  [::]:80;
    server_name  location.test.com;

    access_log  /var/log/nginx/location.host.access.log  main;

    #*********************注意多個location通常按精確的放前面,模糊大范圍的放后面,nginx先找= ******************************
    location = /login.html {#精確匹配 /login
	root /usr/share/nginx/html/test-equal;#請求/login.html相當于尋找資源/usr/share/nginx/html/test-equal/login.html
    }
    location ^~ /prefix/ {#區分大小寫且以/prefix/開頭
	root /usr/share/nginx/html/test-prefix;#root代表根目錄,請求/prefix/prefix.html相當于尋找資源/usr/share/nginx/html/test-prefix/prefix/prefix.html 
    }
    location ~ \.(png|jpg)$ {#不區分大小寫且以.png或.jpg結尾
	root /usr/share/nginx/html/test-suffix;#請求/suffix/a.png相當于尋找資源/usr/share/nginx/html/test-suffix/suffix/a.png
    }
    location ^~ /jd/ {# 區分大小寫且以/jd/開頭
	proxy_pass https://www.jd.com/;#proxy_pass  此處的url以/結尾,則nginx會取掉location部分再轉發,例如,請求/jd/電器?name=1 則會轉發到https://www.jd.com/電器?name=1
    }
    location ^~ /s {# /會匹配到所有的
	proxy_pass https://www.baidu.com;#proxy_pass  此處的url沒有以/結尾,則匹配到的地址全部拼接到代理后的地址,例如,請求/s?name=1 則會轉發到https://www.baidu.com/s?name=1
    }
    location  / {# 會返回index.html
	root /usr/share/nginx/html;
	index index.html;	
    }  
}

備注

location下的root和alias區別:

例子:

客戶端請求:http://localhost:8080/user/info/a.txt

nginx如果用root配置:nginx會去尋找資源:/home/html/user/info/a.txt

location ^~ /user {<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->
root /home/html;#此處可以不以/結尾
}

nginx如果用alias配置:nginx會去尋找資源:/home/html/info/a.txt

location ^~ /user {<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->
alias /home/html/;#此處以/結尾
}

讀到這里,這篇“nginx多location怎么配置”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江孜县| 洛浦县| 鹤山市| 开鲁县| 金华市| 康保县| 沙湾县| 曲松县| 峡江县| 吴桥县| 盐津县| 松溪县| 托里县| 隆安县| 积石山| 克东县| 泽库县| 万荣县| 蕲春县| 邻水| 鄂伦春自治旗| 东海县| 开平市| 商洛市| 金平| 称多县| 凉山| 班玛县| 华池县| 云龙县| 蓬溪县| 铅山县| 凉城县| 泰州市| 榆社县| 岳普湖县| 榆林市| 常德市| 巨鹿县| 西宁市| 桦川县|