この質問は、Javascript がオフのときに、「純粋な」HTML を使用しても、入力フォームから「素敵な」短い URL を取得することに関するものです。これは、ラジオ ボタンの形式でユーザーにいくつかの選択肢を与えるフォームに関するものですが、ほとんどのユーザーは、実際にはデフォルト設定から多くても 1 つの値を変更するか、まったく変更しません。
<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 を実現する方法を認識しています。また、javascript がオフになっている場合に備えて、サーバー側のリダイレクトを使用して URL をクリーンアップする方法についても認識しています。しかし、javascript やサーバー リダイレクトを使わずに、単純な HTML だけで、短くて素敵な URL を実現する方法はありますか?
ただし、問題は、少なくとも Google がこれらのフォームを「いじる」傾向があるため、新しい URL が生成され、Google クローラーがクロールする必要があるもののバックログにプッシュされることです。バックログ内の URL の数と、クローラーが URL を要求する頻度のため、Google が最終 URL から開始し、301 リダイレクトを必要としない場合は、非常に役立ちます。
ただし、javascript/redirect を使用せずに URL から val1=default1 パラメータを削除しようとしましたが、失敗しました。例えば:
<input type="radio" name="val1" value="" checked> default value
URL に「val1=」を挿入します。と
<input type="radio" name="val1" checked> default value
URL で「val1=on」となります。どうやら、ラジオボタンのデフォルト値は「オン」になっています。
助言がありますか?