| « portsnapを使ってみた | cha-ki-sho - b2evolution 0.9.1 の静的ファイル生成時のエラー » |
Apache2でのPHPスクリプトのコンテントネゴシエーション
先日、このブログの
に、Apache2のコンテントネゴシエーションを使用して、PHPスクリプトに対して拡張子を含まないURIでアクセスした場合、リクエストヘッダにAccept: */*などとワイルドカードの指定がないと、
406 Not Acceptable
というエラーが返されると書いた。
サーバ側で.phpの拡張子の扱いが、application/x-httpd-phpであるため、ブラウザの要求する適切なコンテンツを見付けられないのが原因。一応、問題は解決したのだが、先日の解決方法より、もっとましな方法が、
に書いてあったので、試みてみました。
要するに、現在、httpd.conf内でのPHPスクリプトは、
AddType application/x-httpd-php .php
と扱われているけれども、問題のディレクトリ内の.htaccessに、
AddHandler php-script .php AddType text/html .php
と書いて、設定を上書きすれば、該当する拡張子のものをPHPとしてハンドルしてくれ、ネゴシエーションの際は、text/htmlとして扱われるというものです。
こっちの方が、合理的なので、この方法を採用することにします。様子を見て、問題がなければ、httpd.confの記述に改めます。
Trackback address for this post
Trackback URL (right click and copy shortcut/link location)
1 trackback
Trackback from: FreeBSD Notes [Visitor]
コンテント ネゴシエーション経由でPHPにリクエストを渡すのをやめた
この間まで、PHPスクリプトをデフォルトの
AddType application/x-httpd-php .php
ではなく、
SetHandler php-script .php
AddType text/html .php
と設定して、扱うようにしていた(過去の経緯については...
この間まで、PHPスクリプトをデフォルトの
AddType application/x-httpd-php .php
ではなく、
SetHandler php-script .php
AddType text/html .php
と設定して、扱うようにしていた(過去の経緯については...
2006/04/05 @ 19:58
This post has 178 feedbacks awaiting moderation...