使用 Meteor 和 Meteor UP 将 www 重定向到非 www
Redirect www to non-www with Meteor and Meteor UP
如何将 www.site.com
上的所有内容重定向到 site.com
?
我使用 MUP 将我的应用程序部署到 Digital Ocean。到目前为止,我正在考虑为 www 添加一个 CNAME
(无法让它工作),或者添加一个重定向服务器端的流星包(比如手动 wizonesolutions:canonical), or SSH
into the server and change NGINX。
执行此操作的推荐方法是什么?
我忘了说我用的是 SSL (HTTPS)
。因此,无法在域设置中使用 CNAME
进行重定向。
我无法更改 NGINX 设置,因为每次部署时,容器都会被新容器替换,而 MUP 本身对此没有任何设置。
推荐的非常好的解决方案是使用 wizonesolutions:canonical. Just remember to set ROOT_URL
variable in the mup.js
setup file to the desired URL (https://www.yourdomain.com or https://yourdomain.com)
自 2022 年起,(mup v1.5.7),您可以按照以下方式进行操作:
mup.js
proxy: {
domains: 'example.org,www.example.org',
ssl: {
letsEncryptEmail: 'hello@example.org',
forceSSL: true,
},
nginxServerConfig: './nginx.conf',
},
nginx.conf
# Start custom configuration: redirect www to non www
server_name example.org www.example.org;
if ($host = www.example.org) {
return 301 https://example.org$request_uri;
}
# End of custom configuration
Nginx 说“if is evil”,但这是我发现的唯一可以与自动生成的 nginx 配置互操作的解决方案。
您甚至可以尝试使用更通用的方法:
server_name ~^.*$;
if ($host ~ ^www\.(?<domain>.+)$) {
return 301 $scheme://$domain$request_uri;
}
在这里,您不必维护任何网站url。
如何将 www.site.com
上的所有内容重定向到 site.com
?
我使用 MUP 将我的应用程序部署到 Digital Ocean。到目前为止,我正在考虑为 www 添加一个 CNAME
(无法让它工作),或者添加一个重定向服务器端的流星包(比如手动 wizonesolutions:canonical), or SSH
into the server and change NGINX。
执行此操作的推荐方法是什么?
我忘了说我用的是 SSL (HTTPS)
。因此,无法在域设置中使用 CNAME
进行重定向。
我无法更改 NGINX 设置,因为每次部署时,容器都会被新容器替换,而 MUP 本身对此没有任何设置。
推荐的非常好的解决方案是使用 wizonesolutions:canonical. Just remember to set ROOT_URL
variable in the mup.js
setup file to the desired URL (https://www.yourdomain.com or https://yourdomain.com)
自 2022 年起,(mup v1.5.7),您可以按照以下方式进行操作:
mup.js
proxy: {
domains: 'example.org,www.example.org',
ssl: {
letsEncryptEmail: 'hello@example.org',
forceSSL: true,
},
nginxServerConfig: './nginx.conf',
},
nginx.conf
# Start custom configuration: redirect www to non www
server_name example.org www.example.org;
if ($host = www.example.org) {
return 301 https://example.org$request_uri;
}
# End of custom configuration
Nginx 说“if is evil”,但这是我发现的唯一可以与自动生成的 nginx 配置互操作的解决方案。
您甚至可以尝试使用更通用的方法:
server_name ~^.*$;
if ($host ~ ^www\.(?<domain>.+)$) {
return 301 $scheme://$domain$request_uri;
}
在这里,您不必维护任何网站url。