我有一个带有表单的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”吗?
答案 0 :(得分:4)
不幸的是,除了将表单方法从“get”更改为“post”之外,没有其他选择。
GET将所有表单字段编码到URL中。如果不删除数据,就无法隐藏任何内容。
快速谷歌搜索“阻止页面过期消息”会产生相当多的结果(示例主要是PHP,但概念可以转换为任何语言):
答案 1 :(得分:2)
您的表单方法必须是“发布”而不是“获取”。
在cgi脚本中,您应该能够检索发布数据。
对于扩展名更改,使用.htaccess它应该有效。
答案 2 :(得分:1)
将表单保留为POST,然后使用post-redirect-get模式允许用户返回或刷新而不发出警告。
答案 3 :(得分:0)
同意Justin Niessner - 但是,在点击后你可以重定向到另一个页面,这样参数就不会保留在URL中。或者,您可以在后台通过ajax提交表单,这样用户就不会注意到发送的参数