0

サイトはphpとmysqlを使用します

私の新しいサイトでは、きれいな URL を使用しようとしていますが、ひどいページではなく?x=1&y=23&ee=23 もっといいものを作りたいと思っています。

POST メソッドでフォームを使用して、次のようなものを取得したいと思います

http://www.xxx.com/page-color-blue-size-12-light

action="action-page.php" の場合、読み込まれたページは action-page.php から $_POST を読み取り、新しい URL を作成して新しい URL にリダイレクトする必要がありますが、これは良い考えではないようです。

$_GET を使用すると、最終的に ? の URL になります。および & パラメータとして。

解決策は、送信をクリックする前にメソッドを更新するJSである可能性がありますが、この場合、サイトはGoogleでは機能しません...

ご覧のとおり、良い解決策が見つかりません...何か考えはありますか?

ノート -

返信ありがとうございます。URL の書き換えを探しているわけではあり ません。私がやろうとしていることは、投稿からこの URL を作成しようとしていることです。

4

3 に答える 3

1

POST リクエスト経由でパラメータを送信

<form action="page.php" method="post">
  <input type="hidden" name="data" value="1" />
  <input type="submit" value="Submit">
</form>

リクエスト URL は だけpage.phpで、$_POST['data']パラメータが含まれます。

のような URL を使用する場合はhttp://www.xxx.com/page-color-blue-size-12-light

  • 何らかの書き換えルールによる Web サーバーによるリダイレクト。
  • PHP スクリプトで URL を解析して、他のページにルーティングします。

2 番目のソリューションは 2 つの HTTP リクエストの処理を意味するため、最初のソリューションの方が優れている可能性があります。

于 2013-04-15T21:43:12.303 に答える
1

これは、URL 書き換えと呼ばれるものにほかなりません。これについては、次の Web サイトから詳細を確認できます。

http://www.cyberdesignz.com/blog/website-design/url-rewriting-top-5-ways-of-php-url-rewriting/

于 2013-04-15T21:44:17.247 に答える
0

URL の書き換えに関するヘルプをお探しのようですね。それらは、あなたが言及したすべてのクエリ文字列パラメーターの代わりに、ロケーションバーに何かきれいなものを表示させるための基本をカバーしています. アップデート:

私はあなたの質問を少しよく理解しており、少なくとも質問の最初の部分を理解できる解決策があると思います. これをjsfiddleに置いて、あなたもチェックアウトしてください。

<form id="myform" action="" method="POST">
    <input type="text" id="color" name="color" value="blue"/>
    <br />
    <input type="text" id="size" name="size" value="12-light"/>
    <br />
    <input type="submit" value="Go" />
</form>

<script type="text/javascript">
jQuery(function($) {
    $("#myform").submit(function() {
        var color = $("#color").val();
        var size = $("#size").val();
        $("#myform").attr("action", "/page-color-" + color + "-size-" + size);
        $("#myform").submit();
    });
});
</script>
于 2013-04-15T21:42:54.987 に答える