IISで任意のファイルを全アクセスで表示させる設定方法

ヘルクル
質問: 全てのアクセスで同じ内容のページを表示したい
サイトをメンテナンスするため、IISサイトのすべてのアクセスを指定したドキュメントの内容で返したいです。どう設定すればよいですか?

方針

IISサイトのすべてのアクセスを指定したドキュメントの内容を返す方法は大きく分けて、以下の2つがあります。

  • リダイレクトする方法
  • URL書き換えを利用する方法

リダイレクトする方法は、サイトのすべてのリダイレクトを指定したURLにリダイレクトする方法です。
URL書き換えを利用する方法はアクセスしたURLを書き換えて、指定したファイルの内容を返す方法です。 この記事ではリダイレクトが発生せず、アクセスしたURLのままで、指定した内容を返せるURL書き換えを利用する方法を紹介します。

事前準備: IIS URL Rewrite モジュールのインストール

はじめにURLの書き換えモジュールをインストールします。インストールの手順は以下の記事を参照してください。

手順

Webサイトのドキュメントルートに以下の web.configファイルを配置します。

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の表示にする場合は以下の記述となります。

web.config (すべてのアクセスで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) マネージャーを起動します。下図のウィンドウが表示されます。 左側のツリービューで設定したいサイトのノードをクリックして選択します。
IISで任意のファイルを全アクセスで表示させる設定方法:画像1

右側のエリアの[IIS]のカテゴリの[URL 書き換え]の項目をダブルクリックします。
IISで任意のファイルを全アクセスで表示させる設定方法:画像2

[URL 書き換え]の画面が表示されます。右側の[操作]パネルの[規則の追加...]のリンクをクリックします。
IISで任意のファイルを全アクセスで表示させる設定方法:画像3

下図の[規則の追加]ダイアログが表示されます。[受信規則]のカテゴリの[からの規則]の項目をクリックして選択します。 選択後ダイアログ右下の[OK]ボタンをクリックします。
IISで任意のファイルを全アクセスで表示させる設定方法:画像4

[受信規則の編集]画面が表示されます。
IISで任意のファイルを全アクセスで表示させる設定方法:画像5

設定を記入します。[名前]は"Maintenance Mode"とします。[要求されたURL]は"パターンに一致する"を設定します。[使用]は"正規表現"を選択します。 [パターン]には ".*"を設定します。 [アクション]のパネルの[アクションの種類]は"書き換え"を選択し、[URLの書き換え]のテキストボックスに"index.html"を記述します。 この設定により、すべてのアクセスがindex.htmlファイルへのアクセスに変わります。
設定ができたら、右側の[操作]パネルの[適用]のリンクをクリックします。
適用後、右側の[操作]パネルの[規則に戻る]のリンクをクリックして、[URL 書き換え]の画面に戻ります。
IISで任意のファイルを全アクセスで表示させる設定方法:画像6

作成したURL書き換えルールの項目がリストビューに追加されています。
IISで任意のファイルを全アクセスで表示させる設定方法:画像7

IISのウェブサイトにアクセスして、どのURLのアクセスでもindex.htmlのページ内容が表示されることを確認します。
以上で設定は完了です。

AuthorPortraitAlt
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
作成日: 2024-08-17
Copyright © 1995–2025 iPentec all rights reserverd.