Ruby cgi 重定向到 url

发布于 2024-12-12 00:46:33 字数 298 浏览 0 评论 0原文

如何在 CGI 脚本中使用 Ruby(而不是 ROR)重定向到另一个 url eq http://google.com? 我尝试过这样的事情:

cgi.out("status" => "303", "Connection" => "close", "Content-Length" => 1, "Location" => 'http://www.google.com') {' '}

但没有成功。

How can I redirect to another url e.q. http://google.com using Ruby (not ROR) in a CGI script?
I tried something like this:

cgi.out("status" => "303", "Connection" => "close", "Content-Length" => 1, "Location" => 'http://www.google.com') {' '}

but it didn't work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝颜夕 2024-12-19 00:46:33

如果您只是重定向,您可能应该使用 .htaccess 级别指令或某种 Web 服务器配置指令。使用 CGI 来执行非编程任务是一种巨大的杀伤力。

如果您使用 Apache,通常可以避免类似的情况:

RedirectMatch permanent /(.*) http://www.google.com/

其他服务器类型也有等效的指令。

如果您正在使用 Ruby CGI,我认为您做错了。在 Rack 中封装一些简单的东西或使用 Sinatra 为您提供一个干净的工作环境并不难。它比 CGI 更快、更灵活,最重要的是,它运行良好。

You should probably be using a .htaccess level directive or some kind of web server configuration directive if you're just redirecting. Employing CGI for non-programmatic tasks is massive overkill.

You can usually get away with something like this if you're using Apache:

RedirectMatch permanent /(.*) http://www.google.com/

Other server types have equivalent directives.

If you're doing Ruby CGI I think you're doing it wrong. It's not that hard to wrap something simple in Rack or use Sinatra to give you a clean environment to work in. It's faster than CGI, it's more flexible, and best of all, it works well.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文