仅在子域名以外的情况下强制使用“www”(nginx)

仅在子域名以外的情况下强制使用“www”(nginx)

我在使用 Nginx(Ubuntu 18)时遇到问题,我需要强制在动态域中使用“www。”,它既不是多个域,而是真正动态的,可以是任何一个指向服务器的域。

目前,我强制所有内容都使用 www,但如果用户使用子域,服务器将强制使用“www.yourdomain.com”,我希望它在这种情况下成为子域,而不是强制使用 www。

当前重定向代码:

if ($host! ~^ www\.) {
    rewrite ^ $scheme://www.$host$uri permanent;
}

答案1

嗨,如果我理解的话,也许这可以帮助你。

https://stackoverflow.com/questions/8199231/how-to-setup-mass-dynamic-virtual-hosts-in-nginx

并且你的情况必须是这样的 nginx 代码

if ($host! ~^ www\.) {
rewrite ^ $scheme://www.$host$request_uri;
}

使用 $request_uri,重写将在任何情况下保留 / 后面的 url ...

如果您使用永久的,在某些情况下它可以重写到主域。

相关内容