2014年9月10日 星期三

在 Apache 設定 IE 使用相容性檢視

在較新版本的 IE,要看以前舊寫法的網站,可以手動將 IE 設定為「相容性檢視」,避免網頁無法正常瀏覽。

如果要人性化一點,讓使用者不用自己手動改,可以在網頁 HTML 加上 <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/> 之類指定 IE 版本的語法,讓 IE 直接用「相容性檢視」模式瀏覽。

但頁面很多時,又沒有將 head 共用,要一頁一頁加上 X-UA-Compatible,是一件很麻煩的事。
這時可以直接修改 Apache 設定,即可讓每一個頁面都送出 X-UA-Compatible 的 header。
步驟如下
  1. 修改 httpd.conf,新增 mod_headers 模組
    LoadModule headers_module modules/mod_headers.so
  2. 在網站跟目錄增加 .htaccess 檔案,設定內容如下 (該目錄在 httpd.conf 的 AllowOverride 設成要先設成 All)
    <IfModule headers_module>
    Header set X-UA-Compatible: IE=EmulateIE7
    </IfModule>

其他:用 IE11 測試時,雖然有收到 apache 送出的 header,開發人員工具也顯示模擬成舊版的 IE,但實際看畫面確沒有效,後來是重開 IE11 才正常。

參考:
Apache httpd configuration for IE7 standard mode rendering in IE8
Fix Bad value X-UA-Compatible once and for all

沒有留言:

張貼留言