2009-05-21 11 views
0

Apacheサーバの設定方法について少し混乱します。ApacheでPHPのSVGとMathMLを動作させる

HTML XHTML

を彼らは1と同じ構文の両方だが、拡張子が異なります。私は

が良い例として、これらの2ページを取るのApache 2.2.11を使用しています。最初のファイルは拡張子としてHTMLを持ち、2番目のファイルは拡張子としてXHTMLを持っています。

AddType application/xhtml+xml .xhtml 

ようにすることで、MathMLのとSVGが正しく表示されます。

バックグラウンドでサーバーには、次のセットを持っています。

現在、ほとんどのウェブサイトはとにかくPHPで動作します。私はこれを私のApacheで設定しました:

AddType application/x-httpd-php .php 

標準の構文とすべてです。

しかし、私は私のPHPページがあまりにもMathMLのとSVGを表示したい場合は、私がこれを行う必要があると思っています:

AddType application/xhtml+xml .php 
AddType application/x-httpd-php .php 

しかし、それは動作しません、PHPはもはや解析しません。

PHPはまだ正常に動作していると同時に、MathMLとSVGを組み合わせて使用​​できるようにするにはどうすればよいですか?

答えて

4

HTML以外のものを出力するPHPスクリプトをお持ちの場合は、スクリプト内からコンテンツタイプのHTTPヘッダーを設定するだけで済みます。

<?php header('Content-type: application/xhtml+xml'); ?> 

んが、Apacheの設定は必要ありません:あなたはXMLを出力xml.phpというスクリプトを持っている場合

例えば、それはのような行を含める必要があります。

0

AddType directiveは、サーバー上のの処理方法を制御します。。あなたが提供している場合を除きつまり、

Action application/x-httpd-php "/php/php-cgi.exe" 

(:ファイルがこのような対応ActionまたはAddHandlerディレクティブによるアプリケーション/ X-のhttpd-phpのタイプを処理するように構成されたプログラムまたはモジュールに渡されますPHPソースファイル自体は処理されていません。あなたはそれをやりたいとは思っていません)。

以前の設定をそのままにしておきます。 header関数を使用して、Frank's answerが示すように、スクリプトの出力に異なるContent-Typeヘッダーを設定します。

関連する問題