目录
什么是访问控制
权限控制的指令
allow 和 deny
配置权限控制
默认访问权限
禁止所有用户访问
只允许指定用户访问
不同块间的权限指令优先级
范围控制的指令
location语法 (配置范围控制)
前缀与含义
root和alias的区别
alias实现虚拟目录 alias与root的用法区别
最基本的区别:alias指定的目录是准确的,root是指定目录的上级目录,并且该上级目录要含有location指定名称的同名目录。另外,根据前文所述,使用alias标签的目录块中不能使用rewrite的break。
(1) . alias虚拟目录配置中,location匹配的path目录如果后面不带"/",那么访问的url地址中这个path目录后面加不加"/“不影响访问,访问时它会自动加上”/";
但是如果location匹配的path目录后面加上"/",那么访问的url地址中这个path目录必须要加上"/",访问时它不会自动加上"/"。如果不加上"/",访问就会失败!
(2) . root目录配置中,location匹配的path目录后面带不带"/",都不会影响访问。
所以,一般情况下,在nginx配置中的良好习惯是:
1)在location /中配置root目录;
2)在location /path中配置alias虚拟目录。
精准匹配
正则匹配
无前缀
遵循最大前缀匹配
原则
看匹配度
禁止正则匹配
它的意思不是表达后面不用正则表达式,虽然实际上是不能用正则表达式 它的意思是不执行后面的正则location块
因为无前缀的话会执行后面匹配度更高或者正则匹配,而精确匹配又要完全一致,所以就出现了
禁止正则匹配
,也是看匹配度的
也是遵循最大前缀匹配
原则
看匹配度
总结:
总结
"="优于"^~"
"^~"优于正则
正则优于无前缀
无前缀和"^~"遵循之间最大匹配原则,看匹配度
"="之间遵循完全一致
正则之间遵循优先匹配