赞
踩
实例:
server {
listen 80;
server_name localhost;
location /abc {
alias /var/www/html;
index index.html;
}
}
# 当http://localhost:80/abc发来请求时,被上面的内容捕获掉进行返回
下面将会说location的匹配用户发来url的匹配方法
解释:如下面的代码(访问)http://localhost:80/abc
、http://localhost:80/abc1548
返回的都是403错误码
location /abc {
return 403;
}
解释:=
为精确匹配的修饰符,也就是说下面的例子只能http://localhost:80/abc
,不能http://localhost:80/abc1548
location = /abc {
return 403;
}
解释:其会匹配对应的正则表达式,区别大小写,如下例子,能匹配http://localhost:80/abc1
、http://localhost:80/abc151515
、http://localhost:80/abc15154844
等等,但是不能匹配http://localhost:80/aBc12 #因为大小写
location ~ ^/abc[0-9]+$ {
return 403;
}
解释:与~修饰符
唯一区别就是其不区分大小写,http://localhost:80/aBc12 #也可以
location ~ ^/abc[0-9]+$ {
return 403;
}
解释:其跟上面几个有点不同,用于不包含正则表达式的 URI 前,唯一不同的是,如果模式匹配,那么就停止搜索其他模式了
如下例(比如访问:http://localhost:80/abc
根据正常优先级下面比上面的高,所以匹配到的是405):
location /abc {
return 403;
}
location ~^/ab[a-z]$ {
return 405;
}
如下例(比如访问:http://localhost:80/abc
因为^~
的存在,所以在匹配到其之后(如果没有其它^~)不再进行向下寻找匹配到的是403):
location ^~ /abc {
return 403;
}
location ~^/ab[a-z]$ {
return 405;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。