IISでリダイレクトを設定する

IISでリダイレクトを設定する手順を紹介します。

インターネット インフォメーション サービス (IIS) マネージャー で設定する

インターネット インフォメーション サービス (IIS) マネージャー を起動します。下図のウィンドウが表示されます。


左側のツリービューを展開しリダイレクトを設定するディレクトリを選択します。下図の画面が表示されます。


右側の項目リストの[IIS]のカテゴリにある[HTTP リダイレクト]の項目をダブルクリックします。


[HTTP リダイレクト]の画面が表示されます。


[このリダイレクト先に要求をリダイレクト]のチェックボックスをチェックします。またチェックボックスの下のテキストボックスにリダイレクトする先のURLを入力します。


ディレクトリ内すべてをリダイレクトするため、[すべての要求を(相対的なリダイレクト先ではなく)正確なリダイレクト先にリダイレクト]のチェックボックスをチェックします。また、状態コードのコンボボックスからリダイレクトの種類を選択します。


今回は301リダイレクトにしますので、"永続的 (301)"の項目を選択します。設定後右側の[操作]エリアの[適用]をクリックします。


設定が保存されます。右側の[操作]エリアの上部に「変更内容は正常に保存されました。」のメッセージが表示されます。


リダイレクト元のURLにWebブラウザでアクセスし、リダイレクト先のURLにリダイレクトされることを確認します。

Web.config を編集する方法

リダイレクトするディレクトリにアクセスし、Web.config ファイルを修正することでリダイレクトの設定ができます。

コード

リダイレクトするディレクトリに Web.config ファイルを設置し、下記のコードを記述します。
Web.config
<?xml version="1.0" encoding="utf-8"?>

<!--
  ASP.NET アプリケーションの構成方法の詳細については、
  http://go.microsoft.com/fwlink/?LinkId=169433 を参照してください
  -->

<configuration>
    <system.web>
      <compilation debug="true" targetFramework="4.5" />
      <httpRuntime targetFramework="4.5" />
    </system.web>
    <system.webServer>
        <httpRedirect enabled="true" destination="https://www.ipentec.com/utils" exactDestination="true" httpResponseStatus="Permanent" />
    </system.webServer>
</configuration>

解説

system.webServer タグ内に httpRedirect タグを記述することでリダイレクトの設定となります。各属性の値と意味は以下の通りです。

属性値と意味
enabled true:リダイレクトを有効にする。 false:リダイレクトを無効にする
destination リダイレクト先のURL
exactDestination リダイレクト先の値に、相対的な場所ではなく、絶対的なターゲットの場所を設定する(true)
httpResponseStatus リダイレクトの種類を設定します。

httpResponseStatusの値は下記のとおりです。

httpResponseStatusの値
リダイレクトの種類
Found 302 リダイレクト
Permanent 301 リダイレクト
Temporary 307 リダイレクト
PermRedirect 308 リダイレクト

補足

リダイレクト先にパラメーターやアクセスしたファイル名を含める場合は、リダイレクト変数を利用します。リダイレクト変数を利用した設定方法はこちらの記事で紹介しています。

著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
作成日: 2013-08-09
Copyright © iPentec all rights reserverd.