[Tep-j-general] Re: Apache2+サーチエンジン対策のURL

Back to archive index

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

みたく「パス形式の引数」を受け付けてる気がするですが…。

これだけで、ホントに大丈夫なんでしょか?

はまだ






Tep-j-general メーリングリストの案内
Back to archive index