答案1
最简单的答案:
if ($host !~ ^domain\.tld$){
rewrite ^/(.*) http://domain.tdl/$1 redirect;
}
因为您已将所有子域名请求到一个域名,所以该规则将适用于任何子域名。
编辑:这意味着在服务器定义内部,与 ^domain.tld$ 不同。
答案2
如果是邪恶的!。如果每个请求都是双手捂脸……
server {
listen 80;
# listen 443;
server_name *.domain.tld;
return 301 $scheme://domain.tld$request_uri;
}
server {
listen 80;
# listen 443;
server_name domain.tld;
# usual lines
}
答案3
使用重写规则,我的 nginx 配置中有类似这样的操作:
if ($host !~ ^(www\.kaarsemaker\.net|ip\.seveas\.net)$) {
rewrite ^(.*)$ http://www.kaarsemaker.net$1 permanent;
}