Проблема, как вы узнали, заключается в том, что перенаправления на уровне DNS не работают на уровне конкретной страницы.По крайней мере, не без некоторой дополнительной магии, происходящей в фоновом режиме (которую реализуют некоторые регистраторы).
Даже если бы эта установка сработала , у вас все равно остались бы некоторые проблемы с SEO, с которыми нужно было бы иметь дело.Например, вы хотите, чтобы перенаправление example.com
> www.example.com
(в любом случае, о котором я знаю) было перенаправлением 301
.Это позволит поисковым системам, таким как Google, знать: «Пожалуйста, используйте только www
версию этой страницы».В противном случае у вас фактически есть две страницы, каждая из которых (или обе) может быть проиндексирована и считается дублирующим друг друга.
Использование серверов Route 53
, безусловно, вариант, но у вас нетиспользовать.Проблема в том, что вам нужно сделать это на уровне сервера, а не на уровне DNS .
На уровне сервера вы можете указать более сложные и детальные правила перенаправления, такие как «send»любой трафик не-www, не https на версию www, https и указывает, что это постоянное предпочтение (301), что перенаправление (на сервере Apache) будет выглядеть следующим образом:
RewriteEngine On
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
Краткий справочник: NC
означает сопоставление без учета регистра. R
указывает тип перенаправления (здесь 301), NE
указывает, что нельзя экранировать символы, такие как #
или ?
, которые используются во многих схемах URL.Для полного списка флагов, используемых во время Apache RewriteRules, прочитайте эту веб-страницу .
Существуют различные способы достижения этого для Apache
, NGINX
и Windows Server
. У Amazon есть справочная статья , в которой подробно описаны некоторые подходы к реализации. Копирование подробностей статьи здесь выходит за рамки вашего вопроса IMO.
Итак, чтобы ответить на ваш вопрос: Маршрут53 не единственный вариант.Вы можете использовать любого регистратора или DNS-хоста, который захотите.Проблема в том, что вам нужно полностью переосмыслить свой подход и сосредоточиться на правилах уровня сервера, а не правилах уровня DNS.Я не эксперт и нахожу это раздражающим, если я так поступаю, поэтому, надеюсь, кто-то придет с более проницательным подходом.