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

admin3年前云主机66

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正则表达式匹配)》来自互联网同行内容,若有侵权,请联系我们删除!

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

相关文章

如何连接云服务器搭建的ftp(云服务器FTP连接详解)

一、登陆云服务器首先需要去云服务商注册一个账号,然后选择合适的虚拟机并购买,等待虚拟机启动。启动成功后,可以通过SSH协议来连接这台云服务器。通过终端工具输入ssh root@ip地址即可连接上云服务...

java有哪些机制

Java的机制作为一种面向对象的编程语言,Java拥有许多内置机制来支持软件开发。这些机制是为了提高代码的可读性、扩展性和可维护性。下面我们来看看Java中有哪些机制。Java的继承机制Java中的继...

gitlab

什么是GitLab?GitLab是一个自托管的Git项目仓库管理平台,拥有用户友好的Web界面,能够提供管理仪表盘、安全控制以及代码托管等功能。GitLab是Git的补充,可以为开发者提供一个集成的环...

云储存解析:未来企业数据重心的转移

云储存已经成为现代企业重要的技术手段,它在许多方面都改变了传统的数据存储方式。本文将详细分析云储存解析:未来企业数据重心的转移,引出读者的兴趣,并给读者提供背景信息。一、云储存与企业数据云储存指的是把...

又拍云对象存储

提高网站效率的神器——又拍云对象存储在网站建设过程中,为了提高网站效率,提升用户体验,往往需要将网站的静态资源如图片、视频等存储在云平台上。又拍云对象存储是一款非常优秀的云存储服务,可以帮助企业轻松存...

宝塔7.5.2

宝塔7.5.2简介宝塔7.5.2是一款开源的Linux服务器面板,它能够轻松地管理Web服务、数据库、FTP、SSL等一系列功能。宝塔7.5.2具有简单易用、功能全面、兼容性好、稳定性高等特点,被广泛...