【发布时间】:2015-03-30 15:13:53
【问题描述】:
我广泛使用脚本,并使用 Python 从执行的脚本跳回启动它的页面,有时甚至完全跳回其他页面。
假设我正在运行一个脚本,我们将其称为“thisplace.cgi”,它会做它的事情,不管是什么,然后执行以下内容:
sys.stdout.write('Location: otherplace.cgi\n\n')
raise SystemExit
它工作了——我到了那里,otherplace.cgi 生成的页面显示正常,从功能上讲,一切都很好。
但是。在浏览器的地址栏中,仍然显示“thisplace.cgi”。不是用户现在真正所在的“otherplace.cgi”。
我做了一些谷歌搜索,根据我收集到的信息(不多...似乎很神秘),我最终发送了这个...
sys.stdout.write('HTTP/1.1 300 Multiple Choices\n')
sys.stdout.write('Location: otherplace.cgi\n\n')
raise SystemExit
...但是浏览器只是将其视为无效并给我一个错误页面。 CGI 环境是 Intertubes 上的一些共享主机 Debian 机器。我在 OS X 下的 FireFox 中看到了这个问题。
我是否误解了 300 的用途、用途或用途?还是我完全感到困惑? :)
我只希望浏览器在 URL 栏中显示正确的内容。似乎要求的并不多。没有?
【问题讨论】: