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

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

1 if ( $host ~* (.*)\.(.*)\.(.*)) {
2 set $subdomain $1;
3 }
4 location / {
5 root html/$subdomain;
6 index index.html index.php;
7 }

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

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

完美解决方案

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

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

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

转:https://wangyan.org/blog/nginx-subdomain.html

Nginx 二级子域名完美方案相关推荐

  1. 将域名绑定到ip上,并实现访问不同二级子域名对应不同目录

    一.将域名绑定到ip上 1.环境介绍:阿里云服务器ESC(美国硅谷) 2.购买域名 3.备案 注:由于我买的是美国地区服务器,所以不用备案,如果买的国内服务器,这里需要添加一个备案操作. 4.域名实名 ...

  2. nginx使用子域名访问指定端口

    添加配置 cd /etc/nginx/conf.dvi api.conf 找到server修改配置文件如下 server{server_name walking.example.com;locatio ...

  3. nginx使用子域名绑定到指定端口

    安装nginx,使用下面网站的方式一 链接 添加配置 cd /etc/nginx/conf.d vi api.conf server {     listen 80;                 ...

  4. 添加Godaddy二级域名子域名方法

    我们在申请注册了Godaddy域名后,如果需要开通二级域名,方法简单只需要在Godaddy添加二级域名(子域名)只要在域名管理后台添加A记录或CNAME别名(Aliases)即可.但我们如果需要添加二 ...

  5. 子域名是什么意思?有关子域名的价值介绍

    说起子域名,很多新手都没了解过子域名,只知道二级域名.那么子域名是干嘛的呢?子域名的存在有哪些优势呢?一起和小据了解下吧! 1.子域名是干嘛的? 一般来说,子域名就是指顶级域名的下一级,域名整体包括两 ...

  6. 主域名和子域名简单易懂详细讲解

    安全小白困惑讲解--主域名和子域名 写在前面 这里是新手小白在学习子域名爆破的时候发现对主域名和子域名并没有特别清楚,所以选择写一篇关于主域名和子域名的文章帮助和我有同样困惑的小伙伴们! 一.什么是主 ...

  7. 顶级域名、一级域名、二级域名、子域名如何区分

    本文转自:https://www.cnblogs.com/ambon/articles/5631391.html 总结: 几级域名就是几个点来分的,  .com是一级域名, xxx.com就是一级域名 ...

  8. 3分钟弄明白顶级域名二级域名子域名父域名的区别

    顶级域(顶级域名): 顶级域(或顶级域名),英语:Top-level domains,first-level domains(TLDs),也翻译为国际顶级域名.是互联网DNS等级之中的最高级的域,它保 ...

  9. 一级域名,二级域名,父域名,子域名之间的联系

    每次看到http协议啊,域名什么的之类的都会去搜索文章.但是看完又记得不牢靠,白费时间,索性这一次好好地理解明白.将自己的理解记录下来. 一级域名(父域名):又顶级域名.分为类别顶级域名和地理顶级域名 ...

最新文章

  1. Android studio更新后出现警告:Warning:The `android.dexOptions.incremental` property is deprecated and it has
  2. 架构师成长系列 | 云原生时代的 DevOps 之道
  3. android工程创建,3.2.1 创建Android 项目(2)
  4. 【CodeForces - 202A】LLPS (思维,字符串)
  5. js实现的省市县三级联动的最新源码
  6. 敏捷开发团队管理系列之五:大型研发团队的切分(刚参加3.17 MDP团队管理场次的读者请看)...
  7. ENVI学习总结(四)——图像正射校正
  8. FISCO BCOS Solidity 智能合约 接收数组参数
  9. php 查找php配置文件php.ini所在路径的二种方法
  10. 修改了下exeScope的导出函数功能,让它只导出函数名。。。
  11. C#上位机与施耐德PLC通讯
  12. 推荐几款绿色无广告良心软件
  13. 0-50A集成式霍尔电流传感器应用案例分享
  14. github 本地提交代码到服务器
  15. maven创建web项目
  16. 如何用echarts组件制作图表
  17. 艾孜尔江在腾讯网上的影视作品
  18. 清华计算机校友郭毅可院士履新,任港科大首席副校长
  19. 2021-6-9-今日收获
  20. PHP根据字符串拼音首字母进行排序/PHP通讯录按字母A-Z排序

热门文章

  1. Jmeter VS LoadRunner
  2. 03-13 微信小程序自动化测试
  3. 计算机等级报考备注填什么用,计算机二级有什么用
  4. 去掉状态条并全屏_机关单位内必须懂的道理:20条潜规则和13条定律
  5. gauscoor软件怎么用_影视解说月入近万元怎么做到的,没基础照样用软件制作
  6. web前端前景近几年怎么样,是否饱和?
  7. 零基础学习前端开发,怎么自学javascript?
  8. 零基础转行web前端,如何高效的去学习web前端?
  9. php中统一编码语句,统一编码
  10. 职业高中计算机网络试讲稿,《初识我的电脑》试讲稿+答辩