ディレクトリ参照のページにヘッダとフッタをつける


ディレクトリの参照を有効にしていると、規定のドキュメントにしたファイルが存在しないときにそのディレクトリにあるファイル/フォルダの一覧を表示します。

この表示はとても素っ気無いものですが、ヘッダやフッタをつけていくらか装飾することができます。

Apacheであればmod_autoindexのHeaderName、ReadmeNameディレクティブなどでファイルを読み込むことができますが、IIS7.0/7.5ではファイルを読み込むことはできないようです。
URL Rewriteを利用してhtmlを記述することになります。

  1. URL Rewrite Module v2.0をインストールしていない場合はインストールします。
    >>> URL Rewrite Module (IIS.net)

    ※現時点(2009/12/23)ではv2.0はRC2です。v1.1では不具合や機能不足なことがあります。
  2. IISマネージャを起動します。
  3. [接続]ウィンドウで、スタイルシートを適用するサイトやディレクトリを選択します。
  4. [URL Rewrite]をクリックします。
  5. “URL Rewrite”ページの[操作]ウィンドウで[View Pre-conditions]をクリックします。
  6. “Pre-conditions for Outbound Rules”ページの[操作]ウィンドウで[Add]をクリックします。
  7. [Add Pre-condition]ダイアログの[Add]ボタンをクリックし、[Add Condition]ダイアログの各項目に以下のように入力します。
    Condition input {REQUEST_FILENAME}
    Check if input string Matches the pattern
    Pattern ¥¥$
  8. 再び[Add Pre-condition]ダイアログの[Add]ボタンをクリックし、[Add Condition]ダイアログの各項目に以下のように入力します。
    Condition input {HTTP_CONTENT_TYPE}
    Check if input string Matches the pattern
    Pattern ^text/html
  9. [Add Pre-condition]ダイアログの各項目に以下のように入力します。
    Name 任意のPre-condition名
    ex.) Directory-condition
    Using Regular Expressions
    Conditions
    Logical Grouping Match All
  10. [操作]ウィンドウで[Back To Rules]をクリックして[URL Rewrite]ページに戻ります。
  11. “URL Rewrite”ページの[操作]ウィンドウで[Add Rules]をクリックします。
  12. [Add rule(s)]ダイアログで”Outbound rules”の[Blank rule]を選択します。
  13. 各項目に以下のように入力します。
    Name 任意のルール名
    ex.) Directory-list
    Pre-condition 前述の9で入力したPre-condition名を選択します。
    ex.) Directory-condigion
    Match URL
    Requested URL Matches the pattern
    Using Exact Match
    Pattern ヘッダの場合:<body>
    フッタの場合:</body>
    Match the content within 何も 選択しません。
    Custom Tags 選択できません。
    Ignore Case チェックしません。
    Condions
    No conditions definedのままでOKです。
    Action
    Action Type Rewrite
    Action properties
    Value
    ヘッダの場合は<body>に続けて、表示したいhtmlを記述します。
    フッタの場合は、表示したいhtmlに続けて</body>と記述します。
    ex.)
    ヘッダの場合:
    <body><div style=”background-image:url(‘/img/header.jpg’);width:800px; height:50px;”><h1>サイトタイトル</h1></div>
    フッタの場合:
    <div id=”footer”><p>&copy; mycompany(株)</p></div></body>
    Stop processing ~ ディレクトリの参照の表示に、他のRewrite Ruleを適用する可能性がない場合のみチェックします。
    そうでない場合はチェックしてはいけません。

以上

[このドキュメントに対応する環境]

  • OS
    • WIndows Server 2008
    • Windows Vista
    • Windows 7
  • IIS
    • 7.0
    • 7.5


タグ: , ,


コメントをどうぞ