2011-08-03 26 views
1

我正在維護一個非營利組織的網站。我不是那個設計這個網站的人,我不知道這個人是誰。在php中添加一個http標頭網站

這就是說,我有一個與IE9的問題。我最終會嘗試糾正它,但平均只需添加X-UA-Compatible標題,以便IE9轉向IE8模式就可以正常工作。

在一個asp.net網站中,我將它添加到web.config中,使用<customHeaders>元素(使用IIS7)。

是否有一種方法可以發送這個頭文件的所有文件在一個PHP網站,而無需編輯所有文件?

回答

3

mod_headers中的Apache,以下內容添加到您的根.htaccess文件

<FilesMatch "\.(php|cgi|pl|htm)$"> 
    Header set X-UA-Compatible IE=EmulateIE8 
</FilesMatch> 

這將設置在所有PHP,HTML,Perl和CGI文件的HTTP標頭頭,但我有非常不好的經驗與x-ua標題,並發現它並不總是工作。

+0

關於x-ua頭文件,我知道在本地或本地網絡中可能不會考慮它。 FilesMatch中的字符串是正則表達式嗎?意思是「任何以其中一個擴展結尾的東西」? – Johnny5

+0

是的,任何文件名與其中一個結尾。 –

1

auto_prepend_file and header(),或者在你的web服務器上用例如Header

+0

php.ini中的'auto_prepend_file'似乎是我需要的。我可以在我的根文件夾中放一個php.ini文件,以便將它與服務器的文件合併在一起? – Johnny5

+0

請記住,這可能會發送您的所有PHP頁面的頭,甚至不在這個特定的網站(取決於您的服務器配置)。 – webbiedave

+0

@ Johnny5:一般不會。如何完成取決於所使用的SAPI。 –

0

如果您使用某種模板引擎,您可以在模板的HEAD部分添加< meta http-equiv =「X-UA-Compatible」content =「IE = EmulateIE8」/ > )。否則,如果您在任何地方包含單個PHP文件,則可以在此處添加一個header()調用(只要它在輸出任何內容之前)。