「AWS Route 53を使ってMicrosoft Azure Webサイトでwwwなしのカスタムドメインを設定する - 酢ろぐ!」にて、Azure Webサイトでカスタムドメインを使う方法を紹介しました。Googleさんはかなり優秀で既に検索結果に反映され始めています。もう1,000件を超えてる!
しかし、Googleさんは優秀すぎるのか設定しているカスタムドメインだけではなく、既定のドメインである「○○.azurewebsites.net」の方もインデックスされてしまっています。
少し困った状況になりました。
○○.azurewebsites.netからカスタムドメインへリダイレクトさせる
既定のドメインとカスタムドメインの設定は以下のようになっているとします。必要に応じてドメイン部分を読み変えてください。
- Webサイトでの既定のドメイン
catchball.azurewebsites.net
- 設定したいカスタムドメイン
catchball.co
Web.configを開き、system.webServer要素にrewrite要素を追加します。
<?xml version="1.0" encoding="utf-8"?> <configuration> <!-- ~省略~ --> <system.webServer> <rewrite> <rules> <rule name="catchball.azurewebsites.net" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTP_HOST}" pattern="^catchball\.azurewebsites\.net$" /> </conditions> <action type="Redirect" url="http://catchball.co/{R:1}" redirectType="Permanent" /> </rule> </rules> </rewrite> </system.webServer> <!-- ~省略~ --> </configuration>
こうすることで、例えば http://catchball.azurewebsites.net/news/
にアクセスされても、適切に http://catchball.co/news/
へ301リダイレクトしてくれます。
Googleは、301リダイレクトを受けるとサイトを引っ越したと認識して、検索結果への反映してくれます。既にGoogleに○○.azurewebsites.netドメインで登録されているいくつかのURLもしばらくするとcatchball.coへ置き換わってくれるでしょう。