http://localhost/index.php/articles/edit/1/my-first-article のような URL は、.htaccess なしでどのように機能するのでしょうか?

StackOverflow https://stackoverflow.com/questions/966916

質問

これはわかりません:

http://localhost/index.php/articles/edit/1/my-first-article

この URL は、 Kohana フレームワークのドキュメント. 。インストールファイルを調べてみましたが、私自身のファイル以外には、それとは関係のない .htaccess はありませんでした。

では、index.php が呼び出されても、パラメータとして URL に追加されたディレクトリのように見えるのはなぜでしょうか?それは「本物」とは思えません。

それとも、これはネイティブの PHP/Apache/HTTP が実際にどのように動作するのでしょうか?私の理解では、/ は常に「おい、ディレクトリだ!」と伝えています。本当に意味不明です...どうしてそれが可能ですか?それとも、私が見られない/見つけられない .htaccess がどこかにあるのでしょうか?

他のヒント

から Apache ドキュメント:

AcceptPathInfo ディレクティブ

このディレクティブは、 末尾を含む要求 パス名情報に続く 実際のファイル名 (または存在しないファイル) )は、 承認または拒否。末尾の パス名情報の作成が可能 PATH_INFO内のスクリプトで使用可能 環境変数を使用します。

たとえば、場所 /テスト /ポイントを想定して、ここに単一のファイルのみを含むディレクトリをhtmlにします。次に、/test/here.html/more and /test/nothere.html/moreの両方をリクエストします。両方ともpath_infoとして収集します。

したがって、この設定は httpd.conf などのどこかで有効になっていると思います。これは、mod_rewrite と同様に、さまざまな場所で有効化/構成できることに注意してください。 ここを参照してください.

でAcceptPathInfo には、サーバー用にオンになっています。 :)

私は私の方法は、任意の使用されるであろう場合、私は知りませんが、サーバーが.htaccessファイルをサポートする(またはルールを書き換え)していない場合、Kohanaのを使用していないよ、私の「フレームワーク」は、このようにURIのを生成します。

http://www.domain.com/? /記事/編集/ 1 /私の-最初の記事の(気づく?)

それはちょうど(Windowsサーバ上または$_SERVER['REQUEST_URI']$_SERVER['HTTP-X-REWRITE-URL']を解析し、カエルのフレームワークで使用される同様の方法だと、「/」で爆発します。

この方法では完全に独立して書き換えると、まだ生成され、多かれ少なかれSEOフレンドリーURIの

それはあなたのためになるのだと思います。

おそらくここではない場合、確かに正しい答えをお勧めします、そしておそらくないではない...

しかし...

私は人々が要求を解析するために404ページを使用して、その情報に基づいて、右ページなどが見てきました。

CGI環境変数PATH_INFOではを参照してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top