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即可。

相关文章

  • keepalived对nginx进行高可用搭建及原理详解

    keepalived对nginx进行高可用搭建及原理详解

    这篇文章主要为大家介绍了keepalived对nginx进行高可用搭建及原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Centos7 安装Nginx整合Lua的示例代码

    Centos7 安装Nginx整合Lua的示例代码

    这篇文章主要介绍了Centos7 安装Nginx整合Lua的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Nginx服务器中限制连接数与限制请求的模块配置教程

    Nginx服务器中限制连接数与限制请求的模块配置教程

    这篇文章主要介绍了Nginx服务器中限制连接数与限制请求的模块配置教程,分别为limit conn模块与limit req模块的相关用法讲解,需要的朋友可以参考下
    2016-01-01
  • nginx使用nginx-rtmp-module模块实现直播间功能

    nginx使用nginx-rtmp-module模块实现直播间功能

    做的过程出现很多问题,环境其实就需要nginx就可以,然后就是在播放的问题,m3u8的格式,mac直接访问就支持,苹果系统原生H5支持m3u8,还有就是手机直接访问也支持!但是其他其他系统PC端不支持,尝试了好多都不行,最后终于找到了一个支持m3u8格式H5播放
    2017-10-10
  • 查看nginx日志的实现

    查看nginx日志的实现

    在 Nginx 中,查看日志是诊断问题和监控 Nginx 服务状态的重要手段,本文主要介绍了查看nginx日志的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • 详解Nginx配置文件

    详解Nginx配置文件

    Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的,Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。这篇文章主要介绍了Nginx配置文件,需要的朋友参考下
    2017-01-01
  • nginx访问日志并删除指定天数前的日志记录配置方法

    nginx访问日志并删除指定天数前的日志记录配置方法

    这篇文章主要介绍了nginx访问日志并删除指定天数前的日志记录配置方法,需要的朋友可以参考下
    2014-03-03
  • 利用nginx实现动静分离的负载均衡集群实战教程

    利用nginx实现动静分离的负载均衡集群实战教程

    这篇文章介绍了利用nginx实现动静分离的负载均衡集群实战,本次用到的操作系统及服务,本次实验一共需要3台服务器,一台nginx做为负载均衡分发器和动静分离的分发器,两台apache做为后端服务器,使用nginx实现两台apache服务器的负载均衡和动静分离,需要的朋友可以参考下
    2023-03-03
  • Nginx服务器中location配置的一些基本要点解析

    Nginx服务器中location配置的一些基本要点解析

    这篇文章主要介绍了Nginx服务器中location配置的一些基本要点解析,特别对管理以及查找匹配作出了详细的讲解,需要的朋友可以参考下
    2015-12-12
  • nginx设置上传目录无执行权限的方法

    nginx设置上传目录无执行权限的方法

    在windows+iis下,可以设置上传目录,类似:upload,uploadfile,attachments,这样的目录下面无脚本执行权限,从而防止非法用户上传脚本得到webshell
    2010-11-11

最新评论