这个问题是关于在关闭 Javascript 时从输入表单中获取“漂亮”的短 URL,即使是“纯”HTML。它是关于一种形式,它为用户提供了一些选择,每个选择都以单选按钮的形式,但大多数用户实际上最多会从默认设置更改一个值,或者根本不更改:
<form method=get action="form.html">
setting 1:
<input type="radio" name="val1" value="default1" checked> default value
<input type="radio" name="val1" value="alt1"> alternative value
<input type="radio" name="val1" value="other1"> other alternative value
<br>
setting 2:
<input type="radio" name="val2" value="default2" checked> default value
<input type="radio" name="val2" value="alt2"> alternative value
...
</form>
因此,当用户提交表单时,URL 将如下所示:
form.html?val1=default1&val2=alt2&val3=default3&val4=default4
但我希望 URL 如下所示:
form.html?val2=alt2
我知道如何使用客户端 javascript 实现所需的漂亮 URL。而且我也知道如何使用服务器端重定向来清理 URL,以防 javascript 关闭。但是,是否还有一种方法可以在没有 javascript 和服务器重定向的情况下,仅使用纯 HTML 来实现简短而漂亮的 URL?
但问题是,至少谷歌倾向于“玩弄”这些表单,从而生成新的 URL,这些 URL 被推入谷歌爬虫需要爬取的积压工作中。由于积压中的 URL 数量和爬虫请求 URL 的频率,如果谷歌从最终 URL 开始并且不需要 301 重定向,这将是一个很大的帮助。
但是,我尝试在没有 javascript/redirect 的情况下从 URL 中删除 val1=default1 参数失败了。例如:
<input type="radio" name="val1" value="" checked> default value
仍然将“val1=”放入 URL。和
<input type="radio" name="val1" checked> default value
在 URL 中产生“val1=on”。显然,单选按钮的默认值是“on”。
有什么建议么?