我在使用 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 ...
如果您使用永久的,在某些情况下它可以重写到主域。