Google 已将我的 Heroku 应用程序子域编入索引:myapp.heroku.com
是否重复内容?
我应该如何将 myapp.heroku.com 重定向到 mydomain.com?
最佳答案
根据 Heroku docs对于自定义域,您可以这样做:
class ApplicationController
before_filter :ensure_domain
APP_DOMAIN = 'myapp.mydomain.com'
def ensure_domain
if request.env['HTTP_HOST'] != APP_DOMAIN
# HTTP 301 is a "permanent" redirect
redirect_to "http://#{APP_DOMAIN}", :status => 301
end
end
end
我用这个方法,效果很好。请注意,由于重定向返回 301 http 状态(永久重定向),您的网站不会因重复内容而受到惩罚。
301 状态是 Markus 解决方案中唯一缺失的一点,但如果您关注 SEO,我认为这是一个重要的点。
编辑:文档中没有的内容,我忘了提及 - 您应该排除不希望应用重定向的环境。您可以将 if
语句更改为如下内容:
if request.env['HTTP_HOST'] != APP_DOMAIN && ENV["RAILS_ENV"] != 'development'
关于seo - Heroku 子域重复内容?如何重定向到域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5397902/