| 
| PHP・Perlともに、かなり大ざっぱな説明ですので、最終的にはご自分でよく調べた上で変更して下さい。 
 まずは、ご利用のサーバがPATH_INFOに対応しているかどうかを調べて下さい。
 
↑これをこのままコピーペーストして適当な名前(pathinfo.phpなど)で保存後、サーバに転送します。
| 
| <?php $PATH_INFO = $_SERVER['PATH_INFO'];
 list(,$aa,$bb,$cc,$dd) = explode("/", $PATH_INFO);
 echo $PATH_INFO."<br>";
 echo "aa → " .$aa. "<br>";
 echo "bb → " .$bb. "<br>";
 echo "cc → " .$cc. "<br>";
 echo "dd → " .$dd. "<br>";
 exit;
 ?>
 
 |  |  次に、そこにアクセスします。
 例えば、
 http://xxx.xxx.xxx/pathinfo.php
 ↑ここに転送した場合、
 http://xxx.xxx.xxx/pathinfo.php/111/222/333/444/
 ↑このように /(スラッシュ)で適当に区切った文字を付け加えてアクセスして下さい。(文字は何でも構いません)
 
 その結果
 
 
このように表示されれば、PATH_INFOが使えるサーバです。
| 
| /111/222/333/444/ aa →111
 bb →222
 cc →333
 dd →444
 
 |  |  http://cgi.bookstudio.com/path_info/pathinfo.php/111/222/333/444/
 ↑これは、実際のものです。
 
 PHPの場合は、list(,$xx,$xxx,$xxxx) = explode("/", $PATH_INFO); 基本的にこれだけで、あとは
 これまでの
 http://xxx.xxx.xxx/xxx.php?xx=**&xxx=***&xxxx=****
 ↑このようなURLを
 http://xxx.xxx.xxx/xxx.php/**/***/****/
 ↑こうするだけです。
 他には、これまで相対URLでしていたリンクを絶対URLにするなどの、こまごまとした変更点はありますが、
そのあたりはご自分でテストを行って下さい。
 
 
 
 Perlは、よく知りませんので、上のPHPよりも更に適当な説明です。
 ここを読んでそのまま貼りつけても動かないかもしれません。
 
 例として使用する掲示板はKENT WEBさんの Web Forum です。
 
 wf_init.cgiの中に#  デコード処理  #という部分があります。
 そこの
 $mode = $in{'mode'};
 $page = $in{'page'};
 ↑このようになっているあたりを
 
 $buf = $ENV{'PATH_INFO'};
 $buf = substr($buf,1);
 ($_mode,$_no,$_reno,$_oya,$_page,$_list) = split(/\//,$buf);
 if($_mode){$mode = $_mode;}
 ・
 ・
 ・
 ↑このような感じに変更します。(「ような感じ」などと曖昧ですが、いろいろ試して下さい)
 
 
次にwforum.cgiの中の$script?no=$no&reno=$reno&oya=$oya&mode=msgview&page=$page
 ↑このような部分をすべて
 http://xxx.xxx.xxxx/xxxxx/wforum.cgi/msgview/$no/$reno/$oya/$page/
 ↑このように変更します。
 &(?)から = までを、それぞれ / に変えます。
 
 テストでは、上記の変更で動きましたが、サーバによって違うと思います。
 また、本格的に稼働させる場合、上のような適当な変更では、使いものにならないと思いますので、
十分にテストを行って下さい。
 |  |