0

フォームがJSを使用せずにデータを送信する方法を変更できるかどうか、またはおそらく検索エンジンに適した方法で変更できるかどうか疑問に思っています

私は2つの別々の非常に基本的なフォームを持っています。最初のメニューには、件名を選択できるドロップダウン メニューが含まれています。もう1つはまったく同じ目的を果たします。長いリストから件名を選択するのではなく、テキストボックスに件名を入力するだけです(そしてオートコンプリートを利用できます)。

現在、両方のフォームが GET メソッドでデータを送信するため、同じ選択に対する基本的な送信は次の URL になります。

http://example.com/subject/?text=XXXXXX

(私は .htaccess を使用して /subject を実際の php スクリプトに書き換えています...)

私がやろうとしているのは、実際にはURLを次のようにすることです:

http://example.com/subject/XXXXXX

現在、私の .htaccess は両方の URL を問題なく認識します。JS または SE に適した方法を使用せずに、2 番目の方法を使用してフォームを送信する方法があるかどうか知りたいだけです。

4

4 に答える 4

1

すべての URL で選択肢のリストを作成できます。js が無効 (SE) の場合は、このリストを表示します (フォームを非表示にします)。js が有効になっている場合は、フォームを表示します。

css でフォームを非表示にし、js を使用して表示するように設定できます。または、js を使用してフォーム全体を生成します。

于 2012-09-05T11:41:59.333 に答える
1

フォームを送信するために、すべての http クライアント (ブラウザーと SE の両方。ただし、SE がフォームに入力して送信するかどうかはわかりません) は、name=value のペアを作成します。フォームのアクション属性に触れることで変更できますが(送信前に変数を削除することもできます)、もちろんJavascriptが必要です。

JS がなければ、それを変更することはできません。これは、フォームを送信する必要があるためです。

検索エンジンに適した URL をインデックスに登録したい場合は、.htaccess ディレクティブを使用してリダイレクトするのが最善の選択だと思いますが、それはパラメーター化された URL を受け取った後にのみ可能です。

于 2012-08-22T17:47:12.523 に答える
0

私の経験によると、最も最適な解決策は、URL 形式を修正する小さなパーサー スクリプトを追加し、新しいリンクへの 302 リダイレクトを行うことです。

つまり、フォームが次のリンクを送信したとします。

http://example.com/subject/?text=XXXXXX

PHP スクリプトはリンクを受け取り、?text=XXXXXX の部分を XXXXXX に置き換え、ユーザーを新しいページにリダイレクトします。

このソリューションにより、.htaccess の複雑さが軽減され、将来的にフォームを維持する際の柔軟性が向上します。

于 2014-02-21T12:51:13.780 に答える
0

検索エンジンのスパイダーはフォームを送信しません。リストから必要なアイテムを、ページ内のスパイダーが見つけられる別の場所 (コンボ ボックスの上の段落など) に配置する必要があります。それらをメタディスクリプションまたはキーワードタグに入れることもできますが、それらが実際に重要な場合に限ります.ページに過度の最適化を加えようとしているとGoogleが判断した場合、Googleはランキングにペナルティを課します.

于 2012-09-05T11:35:31.970 に答える