サーバーサイドリダイレクト

サーバーサイドリダイレクト


サーバーの引っ越しなどで URL をリダイレクトしたいときは、Windows 系ウェブサーバーであれば web.config、Linux 系ウェブサーバーであれば .htaccess に構文を加えることでリダイレクトを行うことができます。

HTML の meta 構文に実装するリダイレクト

<meta http-equiv="refresh" content="0; URL='(新 URL)'" />

のように、クライアントサイドでのリダイレクトを行いたくない場合などは、こちらのサーバーサイドリダイレクトを実装します。

web.config の書式

<rule name="(ルールの名前)" stopProcessing="true">
	<match url="(.*)" />
	<conditions>
		<add input="{HTTP_HOST}" pattern="(旧 URL)" />
	</conditions>
	<action type="Redirect" url="https://(新 URL)/{R:1}" redirectType="Permanent" />
</rule>

旧 URL の箇所は、www\.azurewebsites\.net$ のように、URL 内のピリオドの前には \ マーク、URLの語尾には $ をつけてください。
つまり、 add input の行は、

<add input="{HTTP_HOST}" pattern="www\.azurewebsites\.net$" />

のような記述になります。

.htaccess の書式

Redirect 301 / https://(新 URL)/

上記の場合、旧サーバーに着信したリクエストをすべて新サーバーに 301 リダイレクトします。