2015-08-20 14 views
0

Чтобы улучшить SEO на моем сайте, я хотел бы, чтобы различные варианты моего домена связывались с одним основным сайтом.Перенаправление HTTP-адресов Heroku: // Домен

Например, прямо сейчас https://example.com и https://www.example.com оба доступа к одному и тому же доменов и рассматриваются как разные веб-сайты от Google.

Я размещаю приложение Rails на Heroku, а затем подключаюсь к домену, который я приобрел через DNSimple. Кто-нибудь знает, как заставить все эти сайты перенаправлять на https://www.example.com?

Я следил за различными учебниками по Heroku (добавление доменов) и DNSimple (добавление ALIAS), но ничего не сработало.

ответ

0

Сохранение вашего сайта в двух разных доменах не означает улучшения SEO, в фактах он дублирует контент для Google и не оценивается.

Чтобы улучшить ваш SEO, вы должны сделать 301 redirect домену, который хотите использовать в качестве основного домена.

О setting your preferred domain (www or non-www).

О создании редиректа - Heroku how to redirect http:// to http://www

+0

Он не хочет размещать их на отдельных доменах. Фактически, запрос заключается в том, как перенаправить все из них в один домен. –

+0

Я согласен, и я позаботился об этом в последней строке моего ответа :) (* без обид *), что вы берете на себя? – abhishek77in

0

Есть несколько осложнений здесь.

Первое осложнение состоит в том, что вы хотите перенаправить имя хоста, использующее HTTP. Фактически, обычно вы можете использовать DNSimple-запись URL, но it doesn't work with https, поскольку вам нужно будет установить SSL-сертификат на DNSimple-серверах (заголовок HTTP-перенаправления отправляется после согласования HTTPS).

Одним из вариантов было бы перенаправление на уровне сервера, но поскольку ваше приложение размещено на Heroku, у вас нет контроля над конфигурацией сервера.

Таким образом, в вашем случае единственным вариантом является указание различных доменов на одно и то же приложение Heroku, добавление доменов в качестве пользовательских доменов в ваше приложение Heroku и обращение с внутренним перенаправлением. Это означает, что ваше приложение должно проверить, поступает ли запрос от одного из альтернативных доменов, и если это так, он перенаправляется в канонический домен.

Существует несколько способов проверить это в приложении Rails. Наиболее эффективным является, вероятно, использование специального промежуточного программного обеспечения или Rails-файла Rails, так что запрос обрабатывается как можно скорее и не создает в приложении весь стек запросов, как это могло бы произойти, например, с before_action.

На стороне DNSimple вам просто нужно создать запись ALIAS (если имя хоста, которое вы хотите разрешить, является доменом apex) или запись CNAME (если имя хоста является поддоменом), которое указывает на тот же SSL-протокол Heroku конечной точки вашего приложения.

Однако последнее осложнение состоит в том, что Heroku не разрешает несколько сертификатов для одного и того же приложения. Если домены, которые вы хотите перенаправить к каноническому, относятся к одному и тому же имени (например, относятся к поддоменам), вы можете просто приобрести сертификат подстановки. В противном случае, если вы хотите охватить несколько разных доменов при переадресации, вам понадобится сертификат с несколькими доменами SSL.