hamada
bungu****@leo*****
2004年 12月 15日 (水) 10:21:05 JST
こんにちわ。 On Tue, 14 Dec 2004 16:43:04 -0800 NOBI <nobi2****@nobi*****> wrote: > <FilesMatch "^default.php$"> > SetHandler application/x-httpd-php > AcceptPathInfo On > </FilesMatch> 知らないディレクティブだったので、ちょっと調べてみました。 http://httpd.apache.org/docs-2.0/ja/mod/core.html > AcceptPathInfo ディレクティブ > > Off > リクエストは存在するパスにそのまま マップされる場合にのみ受け付けられま > す。ですから、上の例の /test/here.html/more のように、本当のファイル名の > 後にパス名情報が続くリクエストには 404 NOT FOUND エラーが返ります。 > > On > 前の方のパスが存在するファイルにマップする場合は リクエストが受け付けら > れます。上の例の /test/here.html/more は /test/here.html が有効なファイ > ルにマップすれば 受け付けられます。 ははぁ。Apache2でこのディレクティブがOffの場合、パス形式で引数を渡そうと しても「そんなパスはない!」と弾かれてしまうんですね。 > Default > 続きのパス名情報の扱いはリクエストの ハンドラで決まります。 普通のファイ > ルのためのコアハンドラのデフォルトは PATH_INFO を拒否します。 cgi-script > や isapi-isa のようにスクリプトを扱うハンドラは 一般的にデフォルトで > PATH_INFO を受け付けます。 ということなので、PHPをスクリプトとして扱うように設定してれば上手くいく ようにも読めるんですが…違うのかな?? 上記.htaccessは「default.phpをスクリプトとして扱い、パス形式の引数を受け 付けるよう設定する」内容のようです。 ただコレ、FilesMatchで対象をdefault.phpに限定してるようなんですけど、た とえばproduct_info.phpなんかも /catalog/product_info.php/products_id/2231 みたく「パス形式の引数」を受け付けてる気がするですが…。 これだけで、ホントに大丈夫なんでしょか? はまだ