Nginx基础篇-Nginx Location
通常网站的部分页面,需要特殊设置。
比如,/1.html 页面,需要用户访问控制(如allow all)。
location = /1.html {
allow all;
}
那部分页面该如何表达呢?
答案:就是位置 Location URL { module }. 其中URL的表达方式中使用的正则表达式,常会有冲突的情况,请通过下面的实验,了解常见的冲突符号,并掌握其中的优先级。
语法规则:
location [=|~|~*|!~|!~*|^~] /uri/ {
module;
module;
}
= 表示精确匹配,优先级也是最高的
~ 区分大小写的正则匹配
~* 不区分大小写的正则匹配
/ 通用匹配,任何请求都会匹配到
^~ 以某些字符串开头
!~ 非(区分大小写匹配的正则)
!~* 非(不区分大小写匹配的正则)
Location优先级:
= 》 ^~ 》~|~*|!~|!~* 》/
精确匹配》字符开头》正则匹配》通配
Location 示例:
目的
通过不同的表达式,观察表达式间的优先级
server {
listen 192.168.100.11;
root /abcd;
index index.html;
location = / { index a.html; }
location ~ / { index b.html; }
location / { index c.html; }
}
a.html/b.html/c.html存储不同内容即可。
访问页面。观察显示的内容。理解正则符号间的优先级。
观察页面的展示内容,并逐级的注释页面,理解优先级的顺序