
Apache 2.0、PHP 5.2.4 があり、httpd.conf に次のディレクティブがあります:
AddType application/x-httpd-php-source .php .php3 .php4 .php5 .php6
AddType
ディレクティブは、指定されたファイル名拡張子を指定されたコンテンツ タイプにマップするために使用されます。これがこのディレクティブの唯一の意味です。しかし、なぜこのメソッドは .php 拡張子を割り当てた PHP ハンドラーをオフにし、ブラウザーでスクリプトのソース コードを表示できるのでしょうか?
そしてもう一つ:
AddType application/x-httpd-php5 .php
このメソッドはなぜ PHP ハンドラーをオンにするのでしょうか? これは単にContent-Type: application/x-httpd-
ブラウザーにヘッダーを送信するだけであり、これはAddType
mod_mime からのディレクティブの意味にすぎないはずです。
私は混乱しています。
答え1
の追加タイプ指令は、クライアント送信内容の解釈。よく使われるのはテキスト/HTMLほとんどのクライアントはこれをすぐに受け入れ、必要な内容として解釈します。IE、Firefox、Chrome などの異なるブラウザでは、これらのヘッダーの解釈が異なる場合があります。
付随するコマンドはハンドラの追加これは、サーバスクリプトを解釈します。
あなたの質問は少し理解しにくいです。AddType application/x-httpd-php-source .php .php3 .php4 .php5 .php6
それを使用すると、処理された HTML ではなく実際の PHP コード自体が表示されるが、それでAddType application/x-httpd-php5 .php
動作すると言っているのですか?
答え2
このディレクティブまたは任意の名前は、構文の強調表示で表示したい PHP ソース ファイルにのみ追加してください.phps
。解釈したいファイルには追加しないでください。 を.php{3,4,5,6}
正常に動作させたい場合は、正しいハンドラーに追加してくださいx-httpd-php
。両方のハンドラーに同じ拡張子を割り当てて動作させる方法はありません。