360°网站管家_运维学院_提供最新最全的服务器运维视频教程与网站维护视频教程

 找回密码
 快速注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
1 2 3 4
查看: 2735|回复: 0
打印 上一主题 下一主题

配置Nginx子域名泛解析绑定至单独目录

[复制链接]

823

主题

909

帖子

4623

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4623
跳转到指定楼层
楼主
发表于 2015-10-13 14:17:52 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

亲!这问题您也搜索很久了吧?不如咨询下我们吧


613049616  613049616  613049616   613049616   613049616


简单记录:
需求描述    Web 服务器为 Nginx,希望配置泛子域名解析。 其实稍加修改,配置泛域名解析也不是难事。
解决及分析    在 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好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 快速注册

本版积分规则


Archiver|手机版|小黑屋|360wzgj Inc. 百度统计

GMT+8, 2024-11-1 13:39 , Processed in 0.068858 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表