2011-08-03 6 views
1

私は非営利団体のWebサイトを管理しています。私はこのウェブサイトをデザインした人ではなく、その人を知らない。httpヘッダーサイトをPHPで追加する

つまり、私はIE9に問題があります。私は最終的にはそれを修正しようとしますが、IE9がIE8モードに変わるようにX-UA-Compatibleヘッダーを追加するだけでうまくいくでしょう。

asp.netのWebサイトでは、web.configファイルに<customHeaders>要素(IIS7)を追加します。

すべてのファイルを編集することなく、このヘッダをPHP Webサイトのすべてのファイルに送信する方法はありますか?

答えて

3

のApacheてmod_headersは、これはすべてのPHP、HTML、PerlとCGIファイルのHTTPヘッダーにそのヘッダーを設定しますが、私は非常に悪い経験を持っていた

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

ルートの.htaccessファイルに以下を追加しますx-uaヘッダーを付けて、それが常に機能するとは限りません。

+0

x-uaヘッダーについては、ローカルホストまたはローカルネットワークの場合に考慮されないことがあります。 FilesMatchの文字列は正規表現ですか? 「拡張子の1つで終わるもの」という意味ですか? – Johnny5

+0

はい、これらのエンディングのいずれかを持つファイル名です。 –

1

auto_prepend_fileおよびheader()などです。 Header

+0

php.iniの 'auto_prepend_file'が必要なようです。 php.iniファイルを自分のルートフォルダにドロップして、サーバのファイルとマージすることはできますか? – Johnny5

+0

これは、このヘッダをこのPHPのすべてのページ、この特定のWebサイトにないもの(サーバの設定に依存します)で送ることができることに注意してください。 – webbiedave

+0

@ Johnny5:一般的にいいえ。どのように行うことができるかは、使用されているSAPIに依存します。 –

0

何らかのテンプレートエンジンを使用している場合は、テンプレートのHEADセクションに<メタhttp-equiv = "X-UA互換" content = "IE = EmulateIE8"/>を追加するだけです)。

それ以外の場合は、どこにでも単一のPHPファイルを含める場合は、そこにheader()呼び出しを追加することができます(コンテンツを出力する前であれば)。

関連する問題