PATH_INFOについて

PATH_INFOは昔は正しく取得できなかったのですが、 どうやら改善されたようです。

私が調べた限りではPATH_INFOは正常に取得可能です。 よって、以下の文書はobsoleteです。 しばらくは寂しいので掲載しますが全く必要ありません。

日付:2003-04-16現在

古い情報

以下の文章はobsoleteです。間違った情報が含まれている可能性があります。

環境変数PATH_INFOを使用するCGIについての注意点を述べる。

PATH_INFOは使えない

XREAではPATH_INFOは正しく取得できません*1。 そのためPATH_INFOを使うCGIは書き換えなければなりません。

参考 : [SB:post=27126]

PATH_INFOの代替案

PATH_INFOの代わりにREQUEST_URIを使うのがいいと思われます。 また、PATH_TRANSLATEDは正しく取得できるので、それを使うという手もあります。

変更例

次のようになっているとします。

Perl

$path_info = $ENV{'PATH_INFO'};

Ruby

path_info = ENV['PATH_INFO']

プログラムがhogeディレクトリに、moe.cgiとしてあるとします。

Perl

$path_info = $ENV{'REQUEST_URI'};
$path_info = s/\/hoge\/moe.cgi//;

Ruby

path_info = ENV['REQUEST_URI']
path_info.sub!(/\/hoge\/moe.cgi/, '')

*12003年4月16日現在は改善済み。