2

重複の可能性:
mod の書き換えとクエリ文字列

URL でパラメーターを渡す唯一の方法は、PHP で GET メソッドを使用することです。しかし、次のように、パラメータのように見えるものを URL に直接使用している多くの Web サイトを見ました。

http://.../page/2/

この場合、「ページ」は本当にパラメーターですか? もしそうなら、それはコードでどのように処理されますか?

それとも、これはディレクトリ「ページ」にあるディレクトリ「2」の通常の URL ですか? 新しい投稿が作成されるたびに、Web サイトがすべてのページと対応するディレクトリを作成するということでしょうか?

ありがとう

4

3 に答える 3

1

これを URL 書き換えと呼びます。基本的にこれは、apache モジュールを使用して着信 URL を新しい URL に書き換え、その後 apache によって処理されることを意味します。

あなたの例http://www.test.com/page/2/では、おそらく次のように書き直されていhttp://www.test.com/?page=2ます。

インターネットで Apache URL rewrite を検索すると、これを行う方法を説明する十分な結果が得られます。

于 2012-09-12T13:30:29.450 に答える
1

これらはすべて規約です。GET パラメータは PHP に固有のものではありません。これは、すべてのブラウザがフォーム データをエンコードする方法です。たとえば、Java ベースの Web アプリケーションでは、セミコロンで区切られたパラメーターを使用します。

変換する単純なレイヤーを作成することはできますが、?alpha=1&beta=2それ/alpha/1/beta/2は安っぽい仕掛けにすぎません (Squid キャッシュのようなごく少数の正当なケースを除く)。

今日の Web サイトで行われていることは、単一のエントリ ポイントパターンを使用することです。通常、Apache のmod_rewriteでは、すべてのリクエストが によって処理され、特定の URL スキームに適したハンドラ PHP ファイルを選択するルーティングindex.php機能があります。これらのスキームは、正規表現で簡単に定義できます。

したがって、全体として、URL がどのように見えるかを決定します。それは簡単な作業ではなく、あらゆる種類のクレイジーなことをさせようとする SEO スネーク オイルのセールスマンがたくさんいます。適切な URL が行うことは、サービス内のコンテンツ (ドキュメント) を識別することであり、サービス全体でその単一の URL を使用してアドレス指定する必要があります。

忘れないでください: クールな URL は変更されません。2 年以内に現在のコード ベースを放棄し、サイトをゼロから再構築します。Web アプリケーションの設計に依存するのではなく、論理的な観点から理にかなった方法で URL スキームを設計してください。

于 2012-09-12T13:50:00.440 に答える
0

あなたが与えた例はまだGETリクエストです。

あなたが探しているのはURL の書き換えです。

于 2012-09-12T13:31:28.863 に答える