Nginx系列教程(07) - Location正则表达式
生活随笔
收集整理的這篇文章主要介紹了
Nginx系列教程(07) - Location正则表达式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. Location的作用
Location指令的作用是根據用戶請求的URI來執行不同的應用,也就是根據用戶請求的網站URL進行匹配,匹配成功即進行相關的操作。
2.Location的語法
- 以=開頭表示精確匹配,如 A 中只匹配根目錄結尾的請求,后面不能帶任何字符串。
- ^~開頭表示uri以某個常規字符串開頭,不是正則匹配
- ~?開頭表示區分大小寫的正則匹配;
- ~*?開頭表示不區分大小寫的正則匹配
- /?通用匹配, 如果沒有其它匹配,任何請求都會匹配到
3.Location正則案例
1.精確匹配,/后面不能帶任何字符:
<span style="color:#000000"><code class="language-java">server <span style="color:#969896">{</span>listen <span style="color:#c76b29">80</span><span style="color:#969896">;</span>server_name www<span style="color:#969896">.</span>baidu<span style="color:#969896">.</span>com<span style="color:#969896">;</span>#精確匹配<span style="color:#969896">,</span>注解后面不能帶任何字符location <span style="color:#df5000">=</span><span style="color:#df5000">/</span> <span style="color:#969896">{</span>proxy_pass http<span style="color:#df5000">:</span><span style="color:#df5000">/</span><span style="color:#df5000">/</span><span style="color:#c76b29">127.0</span><span style="color:#c76b29">.0</span><span style="color:#c76b29">.1</span><span style="color:#df5000">:</span><span style="color:#c76b29">8080</span><span style="color:#969896">;</span>index index<span style="color:#969896">.</span>html index<span style="color:#969896">.</span>htm<span style="color:#969896">;</span><span style="color:#969896">}</span> <span style="color:#969896">}</span> </code></span>2.匹配所有以/開頭請求:
<span style="color:#000000"><code class="language-java">server <span style="color:#969896">{</span>listen <span style="color:#c76b29">80</span><span style="color:#969896">;</span>server_name www<span style="color:#969896">.</span>baidu<span style="color:#969896">.</span>com<span style="color:#969896">;</span>#匹配所有以<span style="color:#df5000">/</span>開頭請求 location <span style="color:#df5000">/</span> <span style="color:#969896">{</span>proxy_pass http<span style="color:#df5000">:</span><span style="color:#df5000">/</span><span style="color:#df5000">/</span><span style="color:#c76b29">127.0</span><span style="color:#c76b29">.0</span><span style="color:#c76b29">.1</span><span style="color:#df5000">:</span><span style="color:#c76b29">8080</span><span style="color:#969896">;</span>index index<span style="color:#969896">.</span>html index<span style="color:#969896">.</span>htm<span style="color:#969896">;</span><span style="color:#969896">}</span><span style="color:#969896">}</span> </code></span>3.比如以開頭/ylw_8080攔截 默認開啟不區分大小寫:
<span style="color:#000000"><code class="language-java">server <span style="color:#969896">{</span>listen <span style="color:#c76b29">80</span><span style="color:#969896">;</span>server_name www<span style="color:#969896">.</span>baidu<span style="color:#969896">.</span>com<span style="color:#969896">;</span>### 以開頭<span style="color:#df5000">/</span>ylw_8080 最終跳轉到http<span style="color:#df5000">:</span><span style="color:#df5000">/</span><span style="color:#df5000">/</span><span style="color:#c76b29">127.0</span><span style="color:#c76b29">.0</span><span style="color:#c76b29">.1</span><span style="color:#df5000">:</span><span style="color:#c76b29">8080</span><span style="color:#df5000">/</span><span style="color:#969896">;</span>location <span style="color:#df5000">/</span>ylw_8080<span style="color:#df5000">/</span> <span style="color:#969896">{</span>proxy_pass http<span style="color:#df5000">:</span><span style="color:#df5000">/</span><span style="color:#df5000">/</span><span style="color:#c76b29">127.0</span><span style="color:#c76b29">.0</span><span style="color:#c76b29">.1</span><span style="color:#df5000">:</span><span style="color:#c76b29">8080</span><span style="color:#df5000">/</span><span style="color:#969896">;</span>index index<span style="color:#969896">.</span>html index<span style="color:#969896">.</span>htm<span style="color:#969896">;</span><span style="color:#969896">}</span>### 以開頭<span style="color:#df5000">/</span>ylw_8080 最終跳轉到http<span style="color:#df5000">:</span><span style="color:#df5000">/</span><span style="color:#df5000">/</span><span style="color:#c76b29">127.0</span><span style="color:#c76b29">.0</span><span style="color:#c76b29">.1</span><span style="color:#df5000">:</span><span style="color:#c76b29">8081</span><span style="color:#df5000">/</span><span style="color:#969896">;</span>location <span style="color:#df5000">/</span>ylw_8081<span style="color:#df5000">/</span> <span style="color:#969896">{</span>proxy_pass http<span style="color:#df5000">:</span><span style="color:#df5000">/</span><span style="color:#df5000">/</span><span style="color:#c76b29">127.0</span><span style="color:#c76b29">.0</span><span style="color:#c76b29">.1</span><span style="color:#df5000">:</span><span style="color:#c76b29">8081</span><span style="color:#df5000">/</span><span style="color:#969896">;</span>index index<span style="color:#969896">.</span>html index<span style="color:#969896">.</span>htm<span style="color:#969896">;</span><span style="color:#969896">}</span><span style="color:#969896">}</span> </code></span> 注意:開頭區分大小寫!總結
以上是生活随笔為你收集整理的Nginx系列教程(07) - Location正则表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 语句摘抄——第29周
- 下一篇: 深入理解Nginx:java业务逻辑层都