我希望所有子域名都映射到特定文件夹,如果不存在则返回 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
}