将 nginx 名称.site.com 配置为 blah/name?

将 nginx 名称.site.com 配置为 blah/name?

我希望所有子域名都映射到特定文件夹,如果不存在则返回 404。因此,如果我安装了 wordpress,我希望 nginx 能够看到 ANYTHING.mysite.com 并尝试托管来自/var/log/mysite/subdomaindir/ANYTHING

我该如何做呢?

答案1

我不能完全确定您正在寻找以下哪种情况,但这两种情况都很容易实现。指定“如果不存在任何内容,则为 404”不是必需的,因为无论如何这都是 nginx 的默认行为(尽管您可以根据需要自定义错误页面)。

场景 1:将所有子域名重定向到同一个文件夹:

server {
    server_name *.mysite.com;
    root /var/www/mysite/subdomaindir/;

    ...your other blocks/directives

}

场景 2:将所有子域名重定向到各自的文件夹:

server {
    server_name ~^(?<sub>.+)\.mysite\.com$;
    root /var/www/mysite/subdomaindir/$sub;

    ...your other blocks/directives

}

相关内容