IISでリダイレクトを設定する
IISでリダイレクトを設定する手順を紹介します。
インターネット インフォメーション サービス (IIS) マネージャー で設定する
インターネット インフォメーション サービス (IIS) マネージャー を起動します。下図のウィンドウが表示されます。
左側のツリービューを展開しリダイレクトを設定するディレクトリを選択します。下図の画面が表示されます。
右側の項目リストの[IIS]のカテゴリにある[HTTP リダイレクト]の項目をダブルクリックします。
[HTTP リダイレクト]の画面が表示されます。
[このリダイレクト先に要求をリダイレクト]のチェックボックスをチェックします。またチェックボックスの下のテキストボックスにリダイレクトする先のURLを入力します。
ディレクトリ内すべてをリダイレクトするため、[すべての要求を(相対的なリダイレクト先ではなく)正確なリダイレクト先にリダイレクト]のチェックボックスをチェックします。また、状態コードのコンボボックスからリダイレクトの種類を選択します。
今回は301リダイレクトにしますので、"永続的 (301)"の項目を選択します。設定後右側の[操作]エリアの[適用]をクリックします。
設定が保存されます。右側の[操作]エリアの上部に「変更内容は正常に保存されました。」のメッセージが表示されます。
リダイレクト元のURLにWebブラウザでアクセスし、リダイレクト先のURLにリダイレクトされることを確認します。
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やデータベースの記事なども担当。