在 Apache 上實作 META Switch

注意:本文件只是初步文件,日後可能隨時異動。

Windows Internet Explorer 8 引進 了 文件相容模式,可讓網頁開發人員指示瀏覽器 使用 舊版本的方式呈現網頁。 相容模式可依個別頁面或個別網站來指定。

本文說明如何在 Apache 中使用自訂標頭 , 以網站為基礎 來 實作 Windows Internet Explorer 8 支援的極常見文件相容模式 EmulateIE7 。

如需 Windows Internet Explorer 8 所 支援之相容模式的詳細資訊 , 以及如何以各個頁面為基礎來實作這些模式的詳細資訊 , 請參閱 未來相容性的 META 標籤與鎖定

指定自訂 HTTP 回應標頭

您可以使用 Apache Web 伺服器來定義網站的自訂標頭 , 以指定網站的文件模式。 以下的自訂 HTTP 標頭會強制 Windows Internet Explorer 8 以 Windows Internet Explorer 7 的 方式呈現網頁。

X-UA-Compatible:IE=EmulateIE7 ``

Apache 2.2

若要為使用 Apache 2.2 的網站指定 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 空間中 , 與文件根目錄相對的內容設定。例如 , 下列設定會將 HTTP 標頭套用至以 /store 開頭的任何 URL 路徑。 它會套用 http://yoursite.com/storehttp://yoursite.com/store/file.html 的要求 , 以及以 /store 字串開頭的其他任何要求。

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

頁面 的 覆寫

如果 Web 伺服器指定的是預設文件相容模式 ,您 可以在特定網頁中指定另一種文件相容模式 , 以覆寫該設定。 在網頁中指定的模式,會優先於伺服器指定的模式。

如需使用指示詞之設定選項的詳細資訊 , 請參閱 <Location><Directory><Files><VirtualHost> 。 如需 Header 指示詞和如何在設定區段中使用它的詳細資訊 , 請參閱下列文件。

舊版本

下列連結包含如何在舊版的 Apache Web 伺服器中 , 新增自訂 HTTP 回應標頭至網站的詳細資訊。

自訂 HTTP 回應標頭與其他 Web 伺服器

如需 Windows Internet Explorer 8 文件相容模式與Internet Information Services (IIS) Web 伺服器的詳細資訊,請參閱在 IIS 上實作 META 參數