Nginx Location指令使用
#Location语法结构:location [ = | ~ | ~* | ^~ ] /uri/{ configuration }
#Location本身:
192.168.2.1/home/index.php?id=10
#Location运算符:
location = / 精确前缀匹配。
192.168.2.1
192.168.2.1/
location ^~ /home 普通字符串匹配。
192.168.2.1/home
192.168.2.1/home/
192.168.2.1/home?id=10
192.168.2.1/home/index.php
location ~ /home 区分大小写的正则匹配。
192.168.2.1/home
192.168.2.1/home/
192.168.2.1/home?id=10
192.168.2.1/home/index.php
location ~* /home 忽略大小写的正则匹配。
192.168.2.1/HOME
192.168.2.1/home
192.168.2.1/home/
192.168.2.1/home?id=10
192.168.2.1/home/index.php
192.168.2.1/Home/index.php
location /home 不带任何修饰符,表示前缀匹配。
192.168.2.1/home
192.168.2.1/home/
192.168.2.1/home?id=10
192.168.2.1/home/index.php
location / 通用匹配,任何未匹配到其他location的请求都会匹配到。
192.168.2.1
192.168.2.1/
#Location匹配模式:
1.普通字符串:=、^~、/uri、/
2.正则表达式:~、~*
#Location匹配优选级:
=
^~
~、~*
/、/uri
#Location实例:
location = / {
# 只匹配 / 的查询.
[ configuration A ]
}
location ^~ /images/ {
# 匹配任何以 /images/ 开始的查询并且停止搜索,不检查正则表达式。
[ configuration B ]
}
location ~* \.(gif|jpg|jpeg)$ {
# 匹配任何以gif, jpg, or jpeg结尾的文件,但是所有 /images/ 目录的请求将在Configuration C中处理。
[ configuration C ]
}
location / {
# 匹配任何以 / 开始的查询,但是正则表达式与一些较长的字符串将被首先匹配。
[ configuration D ]
}
A->B->C->D
页:
[1]