Nginx基礎(chǔ)location語(yǔ)法及功能配置實(shí)例
這一篇將簡(jiǎn)單說(shuō)一下Nginx的location功能。
1.Nginx location
1.1.location作用
location指令的作用就是根據(jù)用戶請(qǐng)求的URI來(lái)執(zhí)行不同的應(yīng)用。
1.2.location語(yǔ)法
location [ = | ~ | ~* | ^~ ] uri {...}
將以上語(yǔ)法分為四部分進(jìn)行說(shuō)明:
location:指令
[ = | ~ | ~* | ^~ ]:匹配的標(biāo)識(shí)
uri:匹配的網(wǎng)站地址
{...}:匹配uri后要執(zhí)行的配置段
注意:
與~*的區(qū)別是:~區(qū)分大小寫(xiě),~*不區(qū)分大小寫(xiě)
^~:進(jìn)行常規(guī)字符串匹配后,不做正則表達(dá)式的檢查
1.3.location匹配示例
location = / {
[ configuration A]
}
location / {
[ configuration B]
}
location /documents {
[ configuration C]
}
location ^~ /images/ {
[ configuration D]
}
location ~* \.(gif|jpg|jpeg)$ {
[ configuration E]
}
上述配置,請(qǐng)求“/”時(shí),匹配configuration A
請(qǐng)求"/index.html"時(shí),講匹配configuration B
請(qǐng)求“/documents/docunment.html”時(shí),匹配configuration C
請(qǐng)求“images/1.gif”時(shí),匹配configuration D
請(qǐng)求“/documents/1.jpg”時(shí),匹配configuration E
1.4.location配置實(shí)例
server {
listen 80;
server_name bbs.yygg.com;
root html/bbs;
location / {
return 401;
}
location =/ {
return 402;
}
location /documents/ {
return 403;
}
location ^~ /images/ {
return 405;
}
location ~* \.(gif|jpg|jpeg)$ {
return 406;
}
測(cè)試結(jié)果
[root@nginx-01 ~]# curl -s -o /dev/null -I -w "%{http_code}\n" bbs.yygg.com
402
[root@nginx-01 ~]# curl -s -o /dev/null -I -w "%{http_code}\n" bbs.yygg.com/
402
[root@nginx-01 ~]# curl -s -o /dev/null -I -w "%{http_code}\n" bbs.yygg.com/index.html
401
[root@nginx-01 ~]# curl -s -o /dev/null -I -w "%{http_code}\n" bbs.yygg.com/documents/documents.html
403
[root@nginx-01 ~]# curl -s -o /dev/null -I -w "%{http_code}\n" bbs.yygg.com/images/1.gif
405
[root@nginx-01 ~]# curl -s -o /dev/null -I -w "%{http_code}\n" bbs.yygg.com/documents/1.jpg
406
[root@nginx-01 ~]# curl -s -o /dev/null -I -w "%{http_code}\n" bbs.yygg.com/yyang/
401
返回的狀態(tài)碼也是與配置中的規(guī)則相匹配的。
1.5.不用uri及特殊字符組合匹配的順序說(shuō)明
location =/ {}:精確匹配
location ^~ /images/ {}:常規(guī)字符串匹配,不做正則匹配
location ~* \.(gif|jpg|jpeg)$ {}:正則匹配
location /documents/ {}:常規(guī)字符串匹配,如果有正則,優(yōu)先匹配正則
location / {}:所有l(wèi)ocation都不匹配后默認(rèn)匹配
以上就是Nginx基礎(chǔ)location語(yǔ)法及功能配置實(shí)例的詳細(xì)內(nèi)容,更多關(guān)于Nginx location語(yǔ)法功能配置的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
nginx 版本升級(jí)的實(shí)現(xiàn)方法
文介紹了如何在CentOS7服務(wù)器上無(wú)中斷地將Nginx從1.18.0版本升級(jí)到1.19.7版本,提供了兩種升級(jí)方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-09-09
詳解Nginx虛擬主機(jī)配置中server_name的具體寫(xiě)法
這篇文章主要介紹了Nginx虛擬主機(jī)配置中server_name的具體寫(xiě)法,server_name服務(wù)器名是虛擬主機(jī)中必須配置的重要參數(shù),需要的朋友可以參考下2016-03-03
由于Nginx配置文件問(wèn)題導(dǎo)致打不開(kāi)網(wǎng)站unknown directive的解決
這篇文章主要介紹了由于Nginx配置文件問(wèn)題導(dǎo)致打不開(kāi)網(wǎng)站unknown directive,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
zabbix自定義監(jiān)控nginx狀態(tài)實(shí)現(xiàn)過(guò)程
這篇文章主要為大家介紹了zabbix如何自定義監(jiān)控nginx狀態(tài)的實(shí)現(xiàn)過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10

