Google已将我的Heroku应用子域名编入索引:myapp.heroku.comHeroku子域重复内容?如何重定向到域?
重复内容?
我应该如何将myapp.heroku.com重定向到mydomain.com?
Google已将我的Heroku应用子域名编入索引:myapp.heroku.comHeroku子域重复内容?如何重定向到域?
重复内容?
我应该如何将myapp.heroku.com重定向到mydomain.com?
使用Heroku的插件自定义域:
heroku addons:add custom_domains:basic
heroku domains:add www.myapp.com
heroku domains:add myapp.com
此外,你必须采取一些配置步骤,在您的域名提供商的管理界面。您需要一个CNAME到proxy.heroku.com和三个A-RECORDs到Heroku IP。你可以在Heroku Docs中找到它。
编辑以回应下面的另一个答案。你可以在你的routes.rb重定向到myapp.com www.myapp.com:
constraints(:host => /^communityguides.eu/) do
root :to => redirect("http://www.communityguides.eu")
match '/*path', :to => redirect {|params| "http://www.communityguides.eu/#{params[:path]}"}
end
首先,如果您不希望您的myapp.heroku.com被索引,只需在您的标题中添加机器人元标记并赋予“nofollow”值。
和重定向添加另一meta标签刷新:
<meta http-equiv="refresh" content="2;url=http://www.heroku.com/">
含量值是以秒,上面的例子就直接在2秒内visiotrs到您的主页。
希望它有助于
相对规范的是一种可能性 只是把<link rel="canonical" href="http://mydomain.com"/>
,<link rel="canonical" href="http://mydomain.com/page"/>
,...在你的应用程序页面。
看到http://www.google.com/support/webmasters/bin/answer.py?answer=139394
谷歌将在规范的元素把URL作为该特定页面右边的ressource。
第一个答案去一部分的方式来解决这个问题,但引入了一个新的问题。
如果您添加www.myapp.com和myapp.com,您需要将其中的一个重定向到您的应用程序中的其他应用程序 - 因此,如果您选择www.myapp.com作为您的主要应用程序,检查请求的URL是否为不是 www.myapp.com并将请求重定向到www.myapp.com - 然后这将覆盖正确转向myapp.com和myapp.heroku.com的重定向请求。 Heroku在他们的文档here上有一个例子。
此外,您需要摆脱谷歌已经在Heroku域上编入索引的内容。你需要使用Google WebMaster tools改变域www.myapp.com - 这是一个相对简单的过程,一旦你登录到网站管理员工具
使用Google网站管理员工具将域名更改为其他域名对于子域名不起作用。至少我没有得到它的工作。有没有可能对此做点什么? – Cristian 2011-12-27 15:28:28
根据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'
我建议使用rack-canonical-host到Heroku的子域名重定向到您的自定义域。
使用hide_heroku宝石,它使用X-Robots-Tag中的HTTP头,以防止搜索引擎索引什么* .herokuapp.com
如果这移至ServerFault下? – 2011-03-23 11:50:55