配置 Nginx 子域名的泛解析
浏览:952次 出处信息
简单记录:
需求描述
Web 服务器为 Nginx,希望配置泛子域名解析。 其实稍加修改,配置泛域名解析也不是难事。
不影响主域名,domain.com 和 www.domain.com 的 root 依然为 www 目录
子域名 sub.domain.com 的 root 希望放在 www-sub 目录下,其他子域名同理
解决及分析
在 Nginx 的配置文件中做如下配置(示意):
server { server_name domain.com www.domain.com *.domain.com ; set $subdomain ''; if ($host ~* (\b(?!www\b).+)\.domain.com) { set $subdomain -$1; } root /home/user/www$subdomain/; } |
解释:
首先,在定义 server_name 时使用通配符 * ,使 Nginx 接受任意子域名的访问。
然后,对 $host 进行分析,找到子域名的名称。 这个正则表达式是在网上抄的,目的是为了在匹配子域名的同时, 不匹配 www 开头的访问和不带 www 的访问。 前面的 set 是因为 Nginx 的 If 没有 Else,所以默认先将 $subdomain 置空。
最后,在定义 root 的时候,使用 $subdomain 变量。
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:Google 网页爬虫报告无法连接站点解决办法
后一篇:记我配置Nginx代理的遭遇 >>
文章信息
- 作者:Fwolf 来源: Fwolf's Blog
- 标签: 泛解析
- 发布时间:2014-11-20 23:44:34
近3天十大热文
- [696] WEB系统需要关注的一些点
- [390] 如何拿下简短的域名
- [18] 移动音乐产品梳理
- [16] 产品经理的取舍之道与抽象能力
- [15] 新手产品经理都混哪里
- [14] Perl 的线程中的共享
- [14] 豆瓣是啥?
- [14] 为什么工程师会造出蹩脚的产品
- [14] iOS和Android设计规范备忘表
- [13] 基于SSD的数据库性能优化