CGIだけど、なんか質問ある? Part 12

このエントリーをはてなブックマークに追加
309通りがかり質問人
perlでCGIについて質問です。
例えば仮にhttp://XXX.com/というディレクトリーがあったとして
そのhttp://XXX.com/の後に例えばwww://yyy.com/test.mp3と書くとリンクが付くページを表示するようにしたいんです
つまり、上記の場合、http://XXX.com/www://yyy.com/test.mp3にアクセスすると
http://www://yyy.com/test.mp3へのリンクがついたページが表示するようにしたいんです
これを実現するために私が考えたのは以下のソースです。
ファイル名はindex.cgiにしました。これによって、index.cgiを省略できるからこれで実現できそうと思ったのです。
しかし、これではhttp://XXX.com/以下もディレクトリまたはファイル名と見なされてnot foundになってしまいます。
パラメータを示す「?」を付けないと、つまり、
http://XXX.com/?www://yyy.com/test.mp3と書かないと実現できません
「?」を書かないでhttp://XXX.com/www://yyy.com/test.mp3で実現できるようにしたいんです
よろしくお願いします。

つまり、2chにURLを書いた場合に表示されるこれと同じ機能を作りたいわけです。
http://ime.nu/www.yahoo.co.jp

次の書き込みにソース書きます。
310通りがかり質問人:05/01/20 18:47:52 ID:ZFFWUrXl
1コ前の書き込みの者です。

##############ここから################################################

#!/usr/local/bin/perl

$buffer = $ENV{'QUERY_STRING'};


print "Content-type: text/html\n\n";
print "<html>\n";
print "<head>\n";
if($buffer eq ""){
print "<title>CGI</title>\n";
print "</head>\n";
print "<body>\n";
print "<h1>\$bufferが空ならこれを表\示</h1>\n";
}else{
print "<title>右クリできるようにする</title>\n";
print "</head>\n";
print "<body>\n";
print "<h1><a href=\"http://$buffer\" target=\"_blank\">http://$buffer</a></h1>\n";
}
print "</body>\n";
print "</html>\n";
###############ここまで###################################################