Nginx批量添加二级子域名完美方案

 更新时间:2015年04月17日 09:24:56   投稿:junjie  
这篇文章主要介绍了Nginx批量添加二级子域名完美方案,本文讲解使用正则表达式批量匹配指定域名的二级域名虚拟主机,需要的朋友可以参考下

对于批量添加虚拟主机的需求,Apache 有 vhost_alias 模块帮忙。Nginx 呢?其实神马都不需要,同样可以实现 Nginx 二级域名匹配子文件夹,且不匹配 "www",但可以匹配包含 "www" 的子域名。

首先看看目前网上搜到的方法。

复制代码 代码如下:

if ( $host ~* (.*)\.(.*)\.(.*)) {
 set $subdomain $1;
}
location / {
 root  html/$subdomain;
 index index.html index.php;
}

上面的 "~*" 表示不区分大小写,然后就是匹配任何 "xxx.xxx.xxx" 类型的网址,最后就悲剧了,不仅匹配了 "www.yourdomian.com" 甚至连 "我艹.$!@.com" 这类网址也匹配了。

嗯,没错!这是一个正则问题。建议先阅读 《正则表达式30分钟入门教程》、《Nginx Location 指令基础》,然后往下看...

完美解决方案

复制代码 代码如下:

if ( $host ~* (\b(?!www\b)\w+)\.\w+\.\w+ ) {
 set $subdomain /$1;
}
location / {
 root /home/wangyan/public_html$subdomain;
 index index.html index.php;
}

效果,下图可以看到,已经实现了,不匹配 "www" 但可以匹配包含 "www" 的子域名。

使用方法,请将上面代码复制到 server {} 标签中,然后重启nginx即可。

相关文章

  • 欧拉部署nginx的实现步骤

    欧拉部署nginx的实现步骤

    本文主要介绍了欧拉部署nginx的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • nginx安装及配置支持php的教程(全)

    nginx安装及配置支持php的教程(全)

    本文的实验环境为:Centos4.5,nginx版本为:nginx-0.7.26
    2013-02-02
  • Nginx构建Tomcat集群的操作方法

    Nginx构建Tomcat集群的操作方法

    nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器,这篇文章主要介绍了Nginx构建Tomcat集群的问题,需要的朋友可以参考下
    2022-01-01
  • 安装Windows版nginx及部署前端代码并解决刷新出现404问题

    安装Windows版nginx及部署前端代码并解决刷新出现404问题

    这篇文章主要给大家介绍了关于安装Windows版nginx及部署前端代码解决刷新出现404问题的相关资料,使用nginx部署前端项目是一篇非常详细的教程,旨在帮助初学者使用Nginx来部署前端项目,需要的朋友可以参考下
    2023-12-12
  • 在Nginx服务器上安装SSL证书完成HTTPS请求的步骤详解(springboot项目)

    在Nginx服务器上安装SSL证书完成HTTPS请求的步骤详解(springboot项目)

    这篇文章主要介绍了在Nginx服务器上安装SSL证书完成HTTPS请求(springboot项目),首先需要下载证书到本地接着在Nginx独立服务器上安装证书,本文给大家介绍的非常详细,需要的朋友参考下吧
    2022-04-04
  • 深入理解Nginx的proxy_cache模块

    深入理解Nginx的proxy_cache模块

    Nginx的proxy_cache模块提供了强大而灵活的缓存功能,本文主要介绍了深入理解Nginx的proxy_cache模块,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • Nginx启动成功却无法访问网页的问题分析和解决方案(完整的排除方案)

    Nginx启动成功却无法访问网页的问题分析和解决方案(完整的排除方案)

    我是用的阿里云的服务器,所以我的问题就在于阿里云服务器必须单独开端口,在找到这个问题之前,我已经把所有能试的方法试过了一遍都没有问题,在增加端口之后直接成功了,如果你也遇到了这样的问题,就和我一起排除吧
    2023-12-12
  • nginx升级到支持HTTP2.0的方法示例

    nginx升级到支持HTTP2.0的方法示例

    这篇文章主要介绍了nginx升级到支持HTTP2.0的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 使用Nginx搭建图片服务器(windows环境下)

    使用Nginx搭建图片服务器(windows环境下)

    这篇文章主要介绍了使用Nginx搭建图片服务器(windows环境下),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • nginx http重定向https配置说明

    nginx http重定向https配置说明

    这篇文章主要介绍了nginx http重定向https配置说明的相关资料,需要的朋友可以参考下
    2017-04-04

最新评论