nginx location配置详解
2019獨角獸企業重金招聘Python工程師標準>>>
location匹配命令
~ ? ? ?#波浪線表示執行一個正則匹配,區分大小寫
~*??? #表示執行一個正則匹配,不區分大小寫
^~ ? ?#^~表示普通字符匹配,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄
= ? ? ?#進行普通字符精確匹配
@ ? ? #"@" 定義一個命名的 location,使用在內部定向時,例如?error_page,?try_files
location 匹配的優先級(與location在配置文件中的順序無關)
= 精確匹配會第一個被處理。如果發現精確匹配,nginx停止搜索其他匹配。
普通字符匹配,正則表達式規則和長的塊規則將被優先和查詢匹配,也就是說如果該項匹配還需去看有沒有正則表達式匹配和更長的匹配。
^~ 則只匹配該規則,nginx停止搜索其他匹配,否則nginx會繼續處理其他location指令。
最后匹配理帶有"~"和"~*"的指令,如果找到相應的匹配,則nginx停止搜索其他匹配;當沒有正則表達式或者沒有正則表達式被匹配的情況下,那么匹配程度最高的逐字匹配指令會被使用。
location 優先級官方文檔
?
例如
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 ] }請求URI例子:
- / -> 符合configuration A
- /documents/document.html -> 符合configuration B
- /images/1.gif -> 符合configuration C
- /documents/1.jpg ->符合 configuration D
@location 例子
error_page 404 = @fetch ;
location @fetch(
proxy_pass http://fetch;
)
轉載請保留:http://www.nginx.cn/115.html
轉載于:https://my.oschina.net/u/1161599/blog/538157
總結
以上是生活随笔為你收集整理的nginx location配置详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring BeanFactory加载
- 下一篇: 三星1TB硬盘MM804RS不识别加电磁