加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

nginx – 基于文件夹结构的动态虚拟主机设置

发布时间:2020-12-13 21:10:16 所属栏目:Nginx 来源:网络整理
导读:考虑到我有这样的事情: /sites/foo/a1 /sites/foo/a2 /sites/foo/a3 /sites/bar/b1 /sites/bar/b2 我想像这样访问它们: foo.a1.mydomain.com 或(如果最后一个不起作用) foo-a1.mydomain.com 如何在nginx中动态创建虚拟主机,以接受转到那些文件夹? 最佳答

考虑到我有这样的事情:

    /sites/foo/a1
    /sites/foo/a2
    /sites/foo/a3
    /sites/bar/b1
    /sites/bar/b2

我想像这样访问它们:

foo.a1.mydomain.com

或(如果最后一个不起作用)

foo-a1.mydomain.com

如何在nginx中动态创建虚拟主机,以接受转到那些文件夹?

最佳答案
这可以通过以下nginx conf来完成:

server {
    listen 80;
    server_name mydomain.com *.mydomain.com;
    set $path "default";
    if ($host ~* ^([a-z0-9-]+).([a-z0-9-]+).mydomain.com$) {
        set $path "$1/$2";
    }
    root /sites/$path;
}

Nginx根据与$host变量匹配的正则表达式中的分组设置$path变量,该变量由nginx自动设置(参见Embedded Variables).通过最初将$path设置为“default”,您可以在$host与正则表达式不匹配的情况下从/ sties / default目录提供内容.

或者,您可以在server_name指令中使用正则表达式匹配.有关详细信息,请参阅Nginx Server Names.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读