V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tangzhehao
V2EX  ›  站长

子域名怎样映射目录?

  •  
  •   tangzhehao · 13 天前 · 596 次点击

    有个想法,不知道如何实现,也不知道怎么搜索到答案,于是请教各位: 想让用户访问 aa.abcdefg.com 的时候,变成访问 abcdefg.com/aa 同理,bb.abcdefg.com 对应 abcdefg.com/bb 以此类推

    二级域名解析设置个 * 泛解析就好,但是不懂上述怎样办到?

    5 条回复    2024-04-22 13:35:12 +08:00
    hefish
        1
    hefish  
       13 天前
    rewrite 可以解决吧。
    server {
    server_name: aa.abcdeg.com;
    rewrite ^/(.*) http://abcdefg.com/aa/$1;
    }
    xinge666
        2
    xinge666  
       13 天前 via iPhone
    server {
    listen 80;
    server_name ~^(?<subdomain>\w+)\.abcdefg\.com$;

    location / {
    rewrite ^/(.*)$ http://abcdefg.com/$subdomain/$1 break;
    proxy_pass http://abcdefg.com/$subdomain/;
    }
    }
    tangzhehao
        3
    tangzhehao  
    OP
       13 天前
    @xinge666
    @hefish 谢谢,我来 trytry
    JiangBeta
        4
    JiangBeta  
       12 天前 via Android
    同样的需求,这几天正在找,居然随手刷到了。楼主测试了吗,这方案能用吗?
    tangzhehao
        5
    tangzhehao  
    OP
       11 天前
    @JiangBeta 二楼小哥基本正解。

    我最后是这样的规则:

    server_name ~^(?<subdomain>.+)\.域名\.com$;
    location / {
    rewrite ^ https://域名.com/$subdomain permanent;
    }

    正常运行。

    注意面板后台要创建个单独的网站,纯静态就好。

    域名绑定 *.域名.com ,域名解析也做个 * 记录到主机,这样才能适用所有子域名。

    直接编辑 nginx 规则,写进去就行。

    要注意,如果某个子域名单独创建了网站,那这个规则就不会生效。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   907 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:05 · PVG 03:05 · LAX 12:05 · JFK 15:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.