如何隐藏.cgi之后的所有内容?在地址栏中

时间:2011-12-19 15:26:43

标签: python cgi

我有一个带有表单的html文件:

<form method="get" enctype="multipart/form-data" action="bin/a_python_script.cgi">

(我必须'使用method =“get”,因为当我使用method =“post”时,我在Internet Explorer 8中的“后退”按钮出现了奇怪的“Page expired”问题)

结果页面在地址栏中显示:

http://www.mydomain.com/bin/a_python_script.cgi?var1=a+variable&var2=another+variable&Submit=submit+this

我在地址栏中的首选输出是:

http://www.mydomain.com/bin/a_python_script.html

如何在“.cgi”之后隐藏所有内容? ?

我可以将“.cgi”更改为“.html”吗?

4 个答案:

答案 0 :(得分:4)

不幸的是,除了将表单方法从“get”更改为“post”之外,没有其他选择。

GET将所有表单字段编码到URL中。如果不删除数据,就无法隐藏任何内容。

快速谷歌搜索“阻止页面过期消息”会产生相当多的结果(示例主要是PHP,但概念可以转换为任何语言):

Google - prevent page expired message

答案 1 :(得分:2)

您的表单方法必须是“发布”而不是“获取”。

在cgi脚本中,您应该能够检索发布数据。

对于扩展名更改,使用.htaccess它应该有效。

答案 2 :(得分:1)

将表单保留为POST,然后使用模式允许用户返回或刷新而不发出警告。

答案 3 :(得分:0)

同意Justin Niessner - 但是,在点击后你可以重定向到另一个页面,这样参数就不会保留在URL中。或者,您可以在后台通过ajax提交表单,这样用户就不会注意到发送的参数