すべてのリクエストをexample.com
からwww.example.com
にリダイレクトしたい。
できれば、これはDNSレベルで行う必要があります。 PTRレコードを使用しようとしましたが、失敗し、404が返されました。
wwww.example.com
は、Elastic Load Balancerのエイリアスです。
これを達成する最も簡単な方法は何ですか?
Route 53を既に使用している場合は、独自のエイリアス「レコード」を使用してこの問題を解決できます。標準のDNSでは、これをまったく行うことができず、Webサイトから301リダイレクトを送信する必要があります。もちろん、301リダイレクトを送信するか、一部のリクエストがwwwなしで送信されるという事実に対処する必要があります(ただし、SEOの理由で301を送信する必要があります)。
おそらくこれを行う最も簡単な方法は、ネイキッドドメインの名前でS3バケットをセットアップし、バケットのプロパティを設定してexample.comからwww.example.comにリダイレクトし、ルート53でネイキッドのエイリアスを作成することです。そのS3バケットを指すドメイン名。
コメントから
答えを強化するために、これを機能させるために以下のことを行いました。
DNSエイリアスの場合は、DNSにCNAMEまたはAレコードを追加するだけです。ここで私の答えを参照してください: Route53でwwwを非wwwにリダイレクトするにはどうすればよいですか?
(クライアントを別のアドレスにリダイレクトする場合のように)URL書き換えの場合、Webサーバーで実行される何らかの形式のURL書き換えロジックが必要です。これにはいくつかの方法があり、使用するWebサーバーの種類によって異なります。最も一般的なのは、Apacheでmod_rewriteを使用することです。このサイトはmod_rewriteの質問に悩まされています。数回の検索で必要な結果が得られます。
これは、s3バケットを使用して行うことができます。手順は以下に貼り付けられています:
ステップ1. s3バケットを作成します。
ステップ2.リダイレクトを使用してホストする静的Webサイトとしてバケットを作成します。
ステップ3. www以外のドメインのAWS Route 53エントリを編集します。
A – IPv4アドレス->エイリアスはい->エイリアスターゲット(ドロップダウンからs3バケットエンドポイントを選択)。
手順4.レコードセットを保存します。
AWS Route53は、現在APEXレコード(ルートドメイン)として知られているものを別のドメイン名にリダイレクトするサポートを提供していませんが、それらはソリューションで機能しています。
これは、ルートドメイン(devopsfolks.com)がmy WP hosted solution ...のIPアドレスを指すように指定するA(エイリアス)レコードを作成することで実現しました...そして答えはイエスです。 IPが変更された場合は、エイリアスを変更する必要があります。ただし、プロバイダーは、何らかの災害復旧を実行し、ハードウェアを変更する必要がない限り、IPが修正されることを保証しました。マッピングを変更するために顧客に45日間を与える間のリダイレクト。