ホームページ > バックエンド開発 > PHPチュートリアル > 奇妙な URL です。誰かこの URL を説明できますか?

奇妙な URL です。誰かこの URL を説明できますか?

WBOY
リリース: 2016-06-13 12:25:54
オリジナル
1112 人が閲覧しました

奇妙な URL です。誰かこの URL を説明できますか?
php プロジェクトを入力したところ、システムにページのリダイレクトがあります。ブラウザのアドレス バーに表示される URL は次のとおりです:
http://xxx。 com/index.php/member-orderPayments-2015071611557932.html

よくわかりません、http://xxx.com/index.php/ ここまででリソースが定義されましたが、なぜ最後に別のリソースがあります: member-orderPayments-2015071611557932.html
親愛なる神様、その理由を説明してください。
注:
上記の URL にアクセスすると、システムはエラーなく正常に動作します。
さらに、URL: http://xxx.com/index.php/
を入力するか、URL: http://xxx.com/index.php/member-orderPayments-2015071611557932.html
システムは正しく実行できます。もちろん、別のページにリダイレクトされます。

ブラウザがこの URL をどのように解析するのか理解できません。アドバイスをお願いします。


-----ソリューションのアイデア----------------------
は次のようにする必要があります使用されている URL 書き換え (UrlRewrite) テクノロジは、平たく言えば、疑似静的です

一般的な URL はパラメータを渡します (パラメータは ? 番号の後にあります)
http://xxx.com/index.php/メンバー。html?orderPayments=2015071611557932

---------------------------------
UrlRewrite
http://xxx.com/index.php/member-orderPayments-2015071611557932.html

プログラムは次の文字列を解析してパラメータを取得します
member-orderPayments-2015071611557932
------解決策のアイデア----------------------
http://xxx.com/index. php/abc
この URL によって開かれたリソースはまだ http://xxx.com/index.php
です。その後、/abc は、index.php のコードによってパラメーターとして受け取られます。
これはフレームワークの単一エントリの処理です。

urlwrite が追加された場合でも、
http://xxx.com/abc
は引き続き http://xxx.com/index.php に渡されます。 /abc はパラメータとして使用されます
-----解決策----------------------
これで完了です。目的は、検索エンジンの最適化で、アドレスを含めやすくしたり、アドレスの見栄えを良くしたりするためである可能性があります。
urlrewrite を使用する必要はありません (urlrewrite を使用する場合は、中間のindex.phpも使用できます)さらに削除可能)

echo "<pre class="brush:php;toolbar:false">";<br />preg_match('/\/([a-z0-9A-Z]+)\-([a-z0-9A-Z]+)\-([0-9]+)\.html/',$_SERVER['PATH_INFO'],$values);<br />print_r($values);<br />echo "
";
ログイン後にコピー


Array<br />(<br />    [0] => /member-orderPayments-2015071611557932.html<br />    [1] => member<br />    [2] => orderPayments<br />    [3] => 2015071611557932<br />)
ログイン後にコピー

------解決策のアイデア------------- ---------
このメソッドを使用する主な理由は、php 自体がこの式メソッドをサポートしているため、$_SERVER['PATH_INFO'] を使用して、index.php の背後にある文字列セグメントを取得できるためです。 / サーバー上で何も設定しないと、reWrite を使用する疑似静的パスのように見えます。実際の ReWrite の場合、サーバー自体がそれをサポートする必要があり、ReWrite ルールを記述する必要があります。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート