在nginx配置中我添加了
server_name *.example.com example.com;
如果我只写
server_name www.example.com example.com;
nginx m.example.com
正在重定向到以nginx配置配置的第一个网站。
对于第一行,我的网站在使用子域名时在轨道上显示相同的结果:m.example.com/hello
或www.example.com/hello
等等。没关系,但应将其重定向到www。
所以我需要重定向所有其他子域=> m.example.com/hello to www.example.com/hello
因为SEO。如何从routes.rb
进行重定向?
现在我只使用规则从无子域名重定向example.com/* to www.example.com/*
constraints subdomain: false do
get ':any', to: redirect(subdomain: 'www', path: '/%{any}'), any: /.*/
end
答案 0 :(得分:2)
如果您愿意,可以直接在Nginx中执行此操作。
server_name *.example.com example.com;
if ($host != 'www.example.com') {
rewrite ^ http://www.example.com$request_uri? permanent;
}
删除永久标志以停止这是301重定向。