多个server中域名重复执行顺序问题
当server中出现同名的域名时,访问的顺序是按照先后,哪个域名靠前,先执行哪个(也和配置文件的加载顺序有关),所以下面访问name2.com的时候,会优先执行第一个server
server {
server_name name1.com name2.com
}
server {
server_name name2.com name3.com
}
多个location优先级问题
- = 进行普通字符串的精准匹配,即完全匹配,优先级最高
- ^~ 表示匹配以什么开头的前缀匹配,优先级次之
- ~ or ~* 表示执行一个正则匹配,区分大小写,*不区分大小写,优先级最后
location = /code1/ {
rewrite ^(.*)$ /code1/index.html break;
}
location ~ /code.* {
rewrite ^(.*)$ /code2/index.html break;
}
location ^~ /code {
rewrite ^(.*)$ /code3/index.html break;
}
网友评论