From: Shugo Maeda Date: 1999-03-03T15:08:42+09:00 Subject: [ruby-dev:5925] Re: mod_ruby-0.0.7 前田です。 moochan writes: > >> mod_rubyにpatch を当ててCGI(index.rb)を実行した結果,ブラウザに > >> > >> Content-type: text/html > >> > >> とだけ表示されます.# mod_rubyの出力と重複しているようですね. > > > >たぶん、そうではなくて、status lineが出力されてないのではな > >いかと思います。 > > 私は,ブラウザ画面に表示された「Content-type: text/html」はCGIスクリプト > からのものだと思います.それが証拠に、画面には出なかったのですがその後ろ > にCGIスクリプトから吐き出されるHTMLがくっ付いていましたから. ええと、「そうではなくて」というのは「mod_rubyの出力と重複し ている」という部分に対して書きました。 mod_rubyと出力が重複しているためではなくて、status lineが出 力されてないために「Content-type: text/html」がヘッダとみな されなかったのだと思います。 > >mod_rubyはCGIのNPHモード互換なので自分でstatus lineを出力す > >る必要があります。 > >cgi-lib.rbを使って、 > > > >print CGI.header("Content-Type: text/html") > > > >とするとcgi-lib.rbが違いを吸収してくれるので楽だと思います。 > ># text/htmlならCGI::headerの引数は省略可能です。 > > この部分は私への提案でしょうか?? そうです。 > # 今はCGIの中で,「print "Content-Type: text/html"」なことやってます. CGI::headerを使わないのであれば、 print "HTTP/1.0 200 OK\r\n" # status line print "Content-Type: text/html\r\n\r\n" とする必要があります。 # mod_rubyに限らず、NPHモードのCGIの場合はstatus lineの出力 # が必要になります。 > >> 2と3番目のフレームには,「mod_ruby:0: unhandled exception」とだけ > >> 表示されます. > > > >これが気になりますが...。 > > 例の require 問題とは関係ありませんか?? おそらく別の問題だと思います。 -- 前田 修吾