たかはしです。
こんにちは。

On Sat, Jan 06, 2001 at 05:37:52PM +0900, Kazuhiro NISHIYAMA wrote:
> On Wed, 27 Dec 2000 21:10:48 +0900
> yuichi TAKAHASHI <yuichi / jbt.co.jp> wrote:
> > eruby と cgi/session.rb を使ってセッション管理をしたいのですが、
> > rhtml ファイルの中で CGI::Session.new() しても、
> > cookie の path= に SCRIPT_PATH のディレクトリ名を使用しているので、
> > つぎの rhtml ファイルに繋がらず、ちょっと使いにくいです。
> > ( SCRIPT_PATH が /cgi-bin/eruby になっているから )
> > 
> > cgi/session.rb をこんな感じに修正するとうまく行きそうなのですが、
> > どうでしょうか?
> 
> 普通のcgiに.cgi/dummy/path?query=infoって感じでPATH_INFOを
> 使ってるときに問題がでませんか?

なるほど、そうですね。
それでは、

--- session.rb.orig	Mon Jan  8 02:09:46 2001
+++ session.rb	Mon Jan  8 02:11:53 2001
@@ -54,7 +54,9 @@
 	@output_cookies =  [
           Cookie::new("name" => session_key,
 		      "value" => id,
-		      "path" => if ENV["SCRIPT_NAME"] then
+		      "path" => if option['session_path'] then
+				  option['session_path']
+		                elsif ENV["SCRIPT_NAME"] then
 				  File::dirname(ENV["SCRIPT_NAME"])
 				else
 				  ""

として、CGI::Session::new の option に
'session_path'=>File::dirname(ENV["PATH_INFO"]) を
入れるのはどうでしょうか。
パスを自由に設定できるので、前のより少し嬉しいです。