須藤です.

現在のWEBrick::CGIではCGIがディレクトリインデックスでアクセ
スされたのかどうかをWEBrick::CGI#request_uriで判断することが
できません.

そこで,WEBrick::CGI::Socket#request_lineでのURIの生成に
@env["REQUEST_URI"]を優先的に使用するようにしてもらえません
か?

手元のApache/2.0.54経由で起動されたCGIでは,ブラウザで要求し
たURIがENV["REQUEST_URI"]に設定されているため,
WEBrick::CGI#request_uriを用いてブラウザから要求したURIが取
得できていることを確認しました.


Index: lib/webrick/cgi.rb =================================================================== RCS file: /var/cvs/src/ruby/lib/webrick/cgi.rb,v retrieving revision 1.10 diff -u -p -r1.10 cgi.rb --- lib/webrick/cgi.rb 29 Apr 2005 22:10:55 -0000 1.10 +++ lib/webrick/cgi.rb 26 May 2005 10:31:15 -0000 @@ -148,7 +148,7 @@ module WEBrick def request_line meth = @env["REQUEST_METHOD"] || "GET" - url = (@env["SCRIPT_NAME"] || File.expand_path($0)).dup + url = (@env["REQUEST_URI"] || @env["SCRIPT_NAME"] || File.expand_path($0)).dup url << @env["PATH_INFO"].to_s url = WEBrick::HTTPUtils.escape_path(url) if query_string = @env["QUERY_STRING"]