网站制作学习网Linux→正文:nginx 多域名正则匹配
字体:

nginx 多域名正则匹配

Linux 2023/5/9 17:31:57  点击:不统计

原载于:文章来源:www.forasp.cn网站制作学习

nginx 实现多域名正则匹配判断,通过不同域名访问不同路径

server_name的匹配顺序
1. 精准匹配 server_name www.forasp.cn
2. 开始为通配符匹配 server_name *.forasp.cn
3. 结束为通配符匹配 server_name www.forasp.*
4. 正则表达式匹配  server_name ~^(.+)\.forasp\.cn$;
5 默认的default_server 处理,如果没有,则跳转到第一个server 
 
我们重点说一下 正则域名匹配, 下面是两个 前缀二级域名匹配,需要说明的一点,
同级别正则匹配 按照顺序优先级处理,第一个匹配不上,开始正则匹配第二个域名,建议通配性正则靠最后处理
 
# 匹配 apia.forasp.cn apib.forasp  api后至少有1个字符
server{
listen 80;
server_name  ~^api(.+).forasp.cn$;
default_type text/plain;
root xxx2;
return 200 'a_regex_success';
}
# 匹配 routea.forasp.cn routeb.forasp  route后至少有1个字符
server{
listen 80;
server_name  ~^route(.+)?.forasp.cn$;
default_type text/plain;
root xxx;
return 200 'b_success';
}
 
通过nginx域名正则访问不同文件夹, 比如通过二级域名的后缀
 
# 匹配 apia.forasp.cn apib.forasp  api后至少有1个字符,
server{
listen 80;
server_name  ~^api(.+).forasp.cn$;
default_type text/plain;
root /api/$1; # 这里的$1 就是括号匹配的字符 apia.forasp.cn 则对应的/api/a 文件夹
}
这样就可以通过 不同正则匹配访问不同目录了。

<%77w%77%2Ef%6F%72p%73%70%2Ec%6E>

·上一篇:crontab pam_limits.so: failed to map segment from shared object: Canno >>    ·下一篇:mac设置ulimit 1024 worker_connections exceed open file resource limit 25 >>
推荐文章
最新文章