Ruby Apache CGI 脚本头过早结束

标签 ruby apache cgi

我正在尝试进行简单的重定向。我已经让其他一切正常工作。例如,这有效:

#!/usr/bin/env ruby

puts "Content-type: text/html"
puts
puts "<h1>blah</h1>"

但这不起作用(这是我得到“脚本头过早结束”错误的地方):

#!/usr/bin/env ruby

puts "Status: 302 Found"
puts "Content-type: text/html"
puts "Location: http://google.com"

我发现的所有其他建议都说这可能与脚本的 #!/usr/bin/env ruby​​ 部分有关,但这没有任何意义我,因为它适用于第一个示例。有什么建议吗?

似乎 Apache 正在解析我从 cgi 脚本返回的 header 。有办法关闭它吗?

最佳答案

您忘记了结尾的 puts

#!/usr/bin/env ruby

puts "Status: 302 Found"
puts "Content-type: text/html"
puts "Location: http://google.com"
puts

关于Ruby Apache CGI 脚本头过早结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3302658/

相关文章:

ruby-on-rails - 覆盖 RSpec 生成器模板

ruby-on-rails - 如何链接到另一个用户的索引?

php - 用于部署的语言/堆栈

php - 如何在 NetBeans 的 java web 应用程序项目中运行 php

ruby - 在系统范围内安装 RVM 是个坏主意吗?

ruby-on-rails - Rails 中的胖模型 : How do I return hash (errors) or object (when success)

php - 配置apache+PDFlib+wordpress

c - fgets 和 fread 的区别

javascript - 为什么需要 8 个反斜杠?

python - 如何刷新 PCF 上托管的 python CGI 文件中的 STDOUT?