IISサイトのすべてのアクセスを指定したドキュメントの内容を返す方法は大きく分けて、以下の2つがあります。
リダイレクトする方法は、サイトのすべてのリダイレクトを指定したURLにリダイレクトする方法です。
URL書き換えを利用する方法はアクセスしたURLを書き換えて、指定したファイルの内容を返す方法です。
この記事ではリダイレクトが発生せず、アクセスしたURLのままで、指定した内容を返せるURL書き換えを利用する方法を紹介します。
はじめにURLの書き換えモジュールをインストールします。インストールの手順は以下の記事を参照してください。
Webサイトのドキュメントルートに以下の web.configファイルを配置します。
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Maintenance Mode" stopProcessing="true">
<match url=".*" />
<action type="Rewrite" url="(表示したいドキュメントのURL)" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
IISのサイトのアクセス全てをindex.htmlの表示にする場合は以下の記述となります。
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Maintenance Mode" stopProcessing="true">
<match url=".*" />
<action type="Rewrite" url="index.html" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
インターネット インフォメーション サービス (IIS) マネージャー で設定する場合の手順です。
インターネット インフォメーション サービス (IIS) マネージャーを起動します。下図のウィンドウが表示されます。
左側のツリービューで設定したいサイトのノードをクリックして選択します。
右側のエリアの[IIS]のカテゴリの[URL 書き換え]の項目をダブルクリックします。
[URL 書き換え]の画面が表示されます。右側の[操作]パネルの[規則の追加...]のリンクをクリックします。
下図の[規則の追加]ダイアログが表示されます。[受信規則]のカテゴリの[からの規則]の項目をクリックして選択します。
選択後ダイアログ右下の[OK]ボタンをクリックします。
[受信規則の編集]画面が表示されます。
設定を記入します。[名前]は"Maintenance Mode"とします。[要求されたURL]は"パターンに一致する"を設定します。[使用]は"正規表現"を選択します。
[パターン]には ".*"を設定します。
[アクション]のパネルの[アクションの種類]は"書き換え"を選択し、[URLの書き換え]のテキストボックスに"index.html"を記述します。
この設定により、すべてのアクセスがindex.htmlファイルへのアクセスに変わります。
設定ができたら、右側の[操作]パネルの[適用]のリンクをクリックします。
適用後、右側の[操作]パネルの[規則に戻る]のリンクをクリックして、[URL 書き換え]の画面に戻ります。
作成したURL書き換えルールの項目がリストビューに追加されています。
IISのウェブサイトにアクセスして、どのURLのアクセスでもindex.htmlのページ内容が表示されることを確認します。
以上で設定は完了です。