[PHP-users 1199] PHPスクリプトをAddHandlerで結び付けたい

松島 知弘 php-users@php.gr.jp
Fri, 17 Aug 2001 02:23:58 +0900


松島です。

もしかしたら、PHP-dev行きの質問かも知れませんが…。

PHPスクリプトを、Apacheで、ハンドラを利用して
AddHandlerで結び付けたいのですが、そのような仕掛けは
用意されている(or予定がある)のでしょうか。


当方で起きている不都合は次のようにして起きています。

■前提1
ContentNegotiationを用いて、
http://www.example.com/hoge.phphttp://www.example.com/hoge でアクセスさせるようにした。

■前提2
hoge.php が実際に出力する Content-Type は、text/html である。

■不都合
HTTPリクエストの Accept フィールドに */* が含まれていない場合、
ContentNegotiationで利用されるMIMEタイプが application/x-httpd-php
の hoge.php がヒットする事は(事実上)なく、406エラー(該当なし)
となってしまう。

(一部の検索ロボットと、NN3,NN4のIMG要素で、*/* が含まれていない為に、
 この不都合が起きる事を確認しています)


この現象に対して、現在次のようにして対処しています。

■現在取っている(望ましくない)解決策
hoge というファイル名に変更して、そのファイルにForceTypeする。
例 (.htaccessにて)
<files hoge>
ForceType application/x-httpd-php
</files>

ところがこの方法は、不便で非効率です。
Apacheにおいては、次の手法が望ましいと思っています。

■適切だと思われる解決策
htmlを吐くPHPスクリプトや、画像を吐くPHPスクリプトには、個別に
AddTypeで text/html などのMIMEタイプを結び付け、それとは別に、
AddHandlerで「AddHandler php-script php」等として結びつける。

ハンドラを利用してPHPスクリプトとして動作させる方法は
あるのでしょうか。もしくは、実装される予定はあるのでしょうか。

宜しくお願い致します。

──────────────────────────────
松島 知弘 matsushima@popup.org
          http://www.popup.org/ai/