location [=|~|~*|^~] uri
其中,方括號中的四種識別符號是可選項,用來改變請求字串和uri的匹配方式。uri是待匹配的請求字串,可以是不包含正則的字串,這種模式被稱為「標準的uri";也可以包含正則,這種模式被稱為"正則uri"。例如:
location ~ .*\.(php|php5)?$
識別符號描述
=精確匹配:用於標準uri前,要求請求字串和uri嚴格匹配。如果匹配成功就停止匹配,立即執行該location裡面的請求。
~正則匹配:用於正則uri前,表示uri裡面包含正則,並且區分大小寫。
~*正則匹配:用於正則uri前,表示uri裡面包含正則,不區分大小寫。
^~非正則匹配;用於標準uri前,nginx伺服器匹配到字首最多的uri後就結束,該模式匹配成功後,不會使用正則匹配。
無普通匹配(最長字元匹配);與location順序無關,是按照匹配的長短來取匹配結果。若完全匹配,就停止匹配。
location = /news/
[root@www quail]# curl 192.168.249.132/news/test1
location ~\.(html)location ~\.(html)
[root@www quail]# curl 192.168.249.132/index.htmltest2
[root@www quail]# curl
192.168.249.132/index.html
test3
location ~*\.(html)
[root@www quail]# curl 192.168.249.132/index.htmltest4
[root@www quail]# curl
192.168.249.132/index.html
test4
location ^~ /index/
[root@www quail]# curl 192.168.249.132/index/test5[root@www quail]# curl
192.168.249.132/index/heihei
test5
[root@www quail]# curl
192.168.249.132/index/asdnmkalsjd
test5
location /
[root@www quail]# curl 192.168.249.132test6
nginx location匹配規則
location匹配命令 波浪線表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配,不使用正規表示式,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄 進行普通字元精確匹配 定義乙個命名的 location,使用在內部定向時,例如 error pag...
nginx location匹配規則
location匹配命令 波浪線表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄 進行普通字元精確匹配 定義乙個命名的 location,使用在內部定向時,例如 error page,try fil...
nginx location匹配規則
location匹配命令 波浪線表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄 進行普通字元精確匹配 定義乙個命名的 location,使用在內部定向時,例如 error page,try fil...