酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Microsoft Azure Webサイトの○○.azurewebsites.netからカスタムドメインへリダイレクトさせる

AWS Route 53を使ってMicrosoft Azure Webサイトでwwwなしのカスタムドメインを設定する - 酢ろぐ!」にて、Azure Webサイトでカスタムドメインを使う方法を紹介しました。Googleさんはかなり優秀で既に検索結果に反映され始めています。もう1,000件を超えてる!

f:id:ch3cooh393:20140530081638p:plain

しかし、Googleさんは優秀すぎるのか設定しているカスタムドメインだけではなく、既定のドメインである「○○.azurewebsites.net」の方もインデックスされてしまっています。

f:id:ch3cooh393:20140530081645p:plain

少し困った状況になりました。

○○.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へ置き換わってくれるでしょう。

参考記事

blog.shibayan.jp