私はプロジェクトでやっていて、いくつかのコードを調べているときにこれに遭遇しました。グーグルしようとしましたが、この質問に関して検索する正しいキーワードが見つかりませんでした。
http://www.fruit.com/example.php/red
私はこれと混同しています、そしてそれの終わりはまだ例えば.php
性格を持っています。/red
これの目的は何ですか?それはPOST
方法と関係がありますか?
考えられる理由は、開発者が.htaccess
書き換えルールを使用していることです。これは、ページに関係する追加のデータ(POSTやGETなど)である可能性が高く、URLをより美しく見せるため、またはURLを単純化するためにこの方法でのみ実行されます。
また、特にページがデータに基づいて生成されている場合は、このページへのリンクバックを容易にするために、この方法で行われることもあります。
これを行うための人気のある場所はブログです。ブログには次のようなリンクが表示されることがよくあります。
http://blog.com/blog/2001/02/23/how-pretty-is-this
実際には、サーバーへのリクエストは次のようになります。
/blog.php?year=2001&month=02&day=23&title=how-pretty-is-this
これはそれほどきれいではなく、この特定のページにリンクするのも簡単ではありません。
Xenotype さんはあなたの質問にうまく答えましたが、一部を見逃していました。
Does it have something to do with POST method?
いいえ、GET メソッドを扱います。彼が述べたように、それは URL を「きれいに」見せるためのものであり、サイトがそのように設計されている場合、実際には RESTful API (初心者には少し高度) の重要な部分になる可能性があります。
http://www.fruit.com/example.php/red
と同じです
http://www.fruit.com/example.php?id=red
これを行うには、正規表現または REGEX と呼ばれるものを使用して .htaccess ファイルをいじる必要があります。さらに詳しく知りたい場合は、いくつかの例を喜んで提供します。
.htaccess ファイル (サーバー構成ファイル) に「RewriteRule」を追加すると、サーバーはサーバー ファイル/フォルダーへのアクセス方法を変更できます。
//probably what the rewrite looks like of the example you provided
RewriteRule .* example.php/$0 [L]
RewriteRules は、action、pattern、rewrite、および flag の 4 つのブロックに分割されます。
アクション: RewriteRule は、基本的に、書き換えを実行することをサーバーに知らせるだけです。
パターン: .* は、この例のパターンです。「。」は任意の文字を表し、任意の文字に一致することを意味し、「*」はこれを繰り返すように指示します。したがって、書き換え後の任意の文字に一致します。
rewrite はこれを実行するページなので、example.php が rewrite です。これの「$」は、書き換えを開始する場所を示します。したがって、「$」記号から書き換えを開始し、パターンを使用します。パターン ".*" は、任意の文字 (この場合は赤) に一致することを示しています。
[L] は最後のルールを意味します。これで終わりです。従うべきルールはもうありません。複数のページに対して複数の書き換えルールを使用できます。
これで、example.php?id=red を使用する代わりに、サーバーは "example.php/" の後に始まることを認識して、指定した任意の文字と一致するようになりました。