META スイッチを Apache に実装する

注 : このドキュメントは暫定版であり、変更される場合があります。

Windows Internet Explorer 8 には、ドキュメント互換モードが用意されており、Web 開発者はブラウザが古いバージョンと同じ方法でページをレンダリングするように指定できます。互換モードは、ページごとまたはサイトごとに指定できます。

このドキュメントでは、Windows Internet Explorer 8 でサポートされる非常に一般的なドキュメント互換モードである EmulateIE7 を、Apache のカスタム ヘッダーを使用してサイトごとに実装する方法について説明します。

Windows Internet Explorer 8 でサポートされている互換モードとそのページごとの実装方法については、「META タグと将来の互換性のロック」を参照してください。

カスタム HTTP 応答ヘッダーを指定する

Apache Web サーバーを使用してサイトにカスタム ヘッダーを定義することにより、Web サイトにドキュメント モードを指定できます。次のカスタム HTTP ヘッダーは、Windows Internet Explorer 8 に対して、Web ページを Windows Internet Explorer 7 と同様の方法でレンダリングするように指示します。

X-UA-Compatible: IE=EmulateIE7

Apache 2.2

Apache 2.2 を使用して Web サイトに HTTP 応答ヘッダーを指定するには、mod_headers モジュールで提供される Header ディレクティブを使用します。Header ディレクティブはさまざまな構成ファイル内のほぼ任意の場所に記述できますが、メイン構成ファイルは httpd.conf です。<Location><Directory><Files><VirtualHost> などの構成セクションで囲むことにより、ディレクティブの適用範囲を限定できます。

このディレクティブを httpd.conf に記述すると、その適用範囲内でサーバーから送信されるすべてのページに X-UA-Compatible HTTP 応答ヘッダーが含まれるようになります。これにより、Windows Internet Explorer 8 では、EmulateIE7 モードでページがレンダリングされます。

まず、サーバーの初期化中に headers_module が読み込まれるようにする必要があります。httpd.conf ファイルで、headers_module に対する LoadModule 行の先頭にある "#" を削除して、行のコメントを外します。これには、メモ帳などのテキスト エディタを使用できます。その結果、行は次のようになります。

LoadModule headers_module modules/mod_headers.so

ヘッダーをサーバー上のすべてのページに追加するには、httpd.conf ファイルの LoadModule 行の後に次の行を追加します。

Header set X-UA-Compatible “IE=EmulateIE7”

このヘッダーをサーバー上の一部のページにのみ適用する場合も考えられます。<Location> ディレクティブを使用すると、ドキュメントのルートを基準として、Web 領域内のコンテンツの構成を変更できます。たとえば、次に示す構成の場合、/store で始まる任意の URL パスに HTTP ヘッダーを適用します。これは、http://yoursite.com/store および http://yoursite.com/store/file.html に対する要求に加え、/store 文字列で始まる他のすべての要求にも適用されます。

<Location /store>Header set X-UA-Compatible “IE=EmulateIE7” </Location>  

ページのオーバーライド

Web サーバーを使用して既定のドキュメント互換モードを指定した場合、特定の Web ページで別のドキュメント互換モードを指定することにより、既定のモード設定をオーバーライドできます。Web ページで指定されたモードが、サーバーで指定されたモードよりも優先されます。

ディレクティブを使用した構成オプションの詳細については、「<Location>」、「<Directory>」、「<Files>」、および「<VirtualHost>」を参照してください。Header ディレクティブの詳細、および構成セクションでそれを使用する方法については、次のドキュメントを参照してください。

以前のバージョン

次のリンクには、以前のバージョンの Apache Web サーバーを使用してサイトにカスタム HTTP 応答ヘッダーを追加する方法の詳細が記述されています。

カスタム HTTP 応答ヘッダーおよび他の Web サーバー

Windows Internet Explorer 8 のドキュメント互換モードおよびインターネット インフォメーション サービス (IIS) Web サーバーの詳細については、「META スイッチを IIS に実装する」を参照してください。