nginx用正则表达式实现泛域名自动匹配目录的方法(nginx正则表达式匹配)

admin3年前云主机33

nginx用正则表达式实现泛域名自动匹配内容介绍

用nginx可以实现虚拟主机的功能,可以绑定多个网址。
通常主域名都是写死在配置里面的,所以要增加匹配时,需要手动添加。

基本写法

最基本的写法是server{listen 80;server_name a;root /html/a;…}server{listen 80;server_name b;root /html/b;…}

正则式写法

域名绑定后,自动匹配到相应的内容介绍中,不需要一个一个域名去写配置。
匹配内容介绍为:html/域名/二级域名,例如baidu会匹配到baidu/www内容介绍下

server { listen 80; # $subdomain 将匹配到二级域名级以上 # $domain 将匹配到一级域名 # $tld 将匹配到根节点名 server_name ~^((?<subdomain>.*)\.)?(?<domain>[^.]+)\.(?<tld>[a-zA-Z]+)$; #如果没有$subdomain,则跳转到www if ($subdomain = "") { # set $subdomain "_"; set $subdomain "www"; return 301 $scheme://$domain.$tld$request_uri; } root /usr/share/nginx/html/${domain}.${tld}/${subdomain};}

其他

nginx 的匹配顺序,搜索一下有很多文章,我就不详细说了。
因为正则表达式的匹配优先级最低,只有当其他都匹配不到时才会进行正则表达式的匹配,所以不用担心影响其他的精确匹配。

一般人不会有那么多的域名要匹配,相反,是要屏蔽掉一些恶意的域名指向。

但是测试的时候,为了不影响正在运行的网页,可以在hosts中添中一条ip 域名记录,用不存在的域名来测试,这时候就比较有用了。

总结

到此这篇关于nginx用正则表达式实现泛域名自动匹配内容介绍的文章就介绍到这了,更多相关nginx正则表达式泛域名匹配内容介绍内容请搜索站长源码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持站长源码网!《nginx用正则表达式实现泛域名自动匹配目录的方法(nginx正则表达式匹配)》来自互联网同行内容,若有侵权,请联系我们删除!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

ubuntu怎么安装opencv

Ubuntu安装OpenCV详细步骤 OpenCV是一款开源的计算机视觉库,提供了许多计算机视觉和机器学习的工具。在Ubuntu系统中安装OpenCV可以为图像和视频处理提供很多便利。本文将详细介绍U...

云服务器搭建web服务器

云服务器搭建web服务器云服务器是现代企业运营的重要工具之一,它们提供稳定的资源和有效的管理,可以让用户更快速地构建应用、扩大运营规模,同时还能以实惠的价格获得更多的VPS资源,不同于传统的物理服务器...

宝塔面板ssl部署后如何取消

什么是宝塔面板SSL?宝塔面板是一款服务器管理面板工具,支持用户一键安装部署服务器环境,同时也支持SSL证书的部署和管理。SSL证书是一种网络安全通信协议,可以保护用户的数据传输过程的安全,提高网站的...

直连香港服务器

直连香港服务器在网络世界中,每个用户都需要连接到服务器才能访问网页、发送电子邮件等。对于用户来说,服务器的物理位置并不重要,但从技术角度看,连接到离自己最近的服务器可以提高访问速度、降低延迟等。香港服...

云服务器和独立服务器的区别是什么

云服务器和独立服务器的区别是什么在当今快速发展的计算机技术中,服务器被广泛应用于各种领域,如企业、政府机构、医疗机构等。虽然云服务器和独立服务器都是在网络中运行的计算机,但它们的使用方式和应用场景有什...

phpcms如何实现轮播(轮播图怎么实现)

phpcms实现轮播的方法:首先在想要加轮播图的位置加入“<div id="flowDiagram" >...</div>”;然后根据自己的需求对css样式...