0

为了改善我网站上的 SEO,我希望我的域的不同变体链接到一个主站点。

例如,现在https://example.comhttps://www.example.com都访问同一个域,并被 Google 视为不同的网站。

我在 Heroku 上托管我的 Rails 应用程序,然后连接到我通过 DNSimple 购买的域。有谁知道如何让所有这些网站重定向到https://www.example.com

我遵循了关于 Heroku(添加域)和 DNSimple(添加别名)的不同教程,但没有任何效果。

4

2 回答 2

0

这里有一些并发症。

第一个复杂因素是您要重定向使用 HTTPs 的主机名。实际上,通常您可以使用 DNSimple URL 记录,但它不适用于 https,因为您需要在 DNSimple 服务器上安装 SSL 证书(HTTP 重定向标头在 HTTPS 协商之后发送)。

一种选择是在服务器级别重定向,但由于您的应用程序托管在 Heroku 上,因此您无法控制服务器配置。

因此,在您的情况下,唯一的选择是将各个域指向同一个 Heroku 应用程序,将域作为自定义域添加到您的 Heroku 应用程序并在内部处理重定向。这意味着您的应用程序应检查请求是否来自备用域之一,如果是这种情况,它会重定向到规范域。

有几种方法可以在 Rails 应用程序中检查它。最有效的可能是使用自定义中间件或 Rails 路由器文件,以便尽快处理请求,并且不会在应用程序中构建整个请求堆栈,例如使用before_action.

在 DNSimple 方面,您只需创建指向应用程序的相同 Heroku SSL 端点的 ALIAS 记录(如果您要解析的主机名是顶级域)或 CNAME 记录(如果主机名是子域) .

然而,最后一个问题是 Heroku 不允许同一个应用使用多个证书。如果您要重定向到规范的域属于相同的名称(例如是子域),您可以购买通配符证书。否则,如果您想在重定向中覆盖多个不同的域,您将需要一个多域 SSL 证书。

于 2015-08-20T08:05:19.337 回答
0

将您的网站托管在两个不同的域上并不意味着改进了 SEO,事实上它为 Google 复制了内容并且不受欢迎。

为了提高您的 SEO,您应该301 redirect对要共享为主域的域进行操作。

关于设置您的首选域(www 或非 www)

关于设置重定向 - Heroku 如何将 http:// 重定向到 http://www

于 2015-08-20T06:03:14.820 回答