PATH_INFOについて

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

PATH_INFOは使えない

XREAではPATH_INFOは正しく取得できません。 そのため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/, '')