:として
http://www.example.com/something/else
は同じになりますモジュールがロードされます。それ以外の場合は、サーバーエラーに直面するか、URL書き換え要求がすべて無視されます。
次の2行は、それに続く行のための条件です。つまり、RewriteRule
は、この2つの書き換え条件が満たされた場合にのみ授与されることを意味します。
条件では、要求されたURIが「既存のファイル」またはフォルダの種類でない場合にのみ、書き換えが実行されることを示しています。言い換えれば、要求されたファイル/フォルダが実際に要求されたサーバパス上に存在する場合、それは提供され、そうでなければ再書き込みが実行される。
最後の行が実際の書き換えを行います。ウェブサイトのドメイン名に従っているものはすべて取っておき、書き換えられたリクエストに追加します。これはindex.php/
で始まります。
ここに例を示します。
あなたは次のURL-example.com/example-page.html
をリクエストするとします。
という名前の仮想ホストルートフォルダに既存のファイルまたはフォルダがない場合、最後の書き換えルールは実際には次のURIをexample.com/index.php/example-page.html
に要求します。
このようなものを行うための一般的な理由は、リクエストを受けたWebアプリケーションは、単一の中央ブートストラップファイル(ここではそのindex.php
)
EDITをすべての要求を処理する責任があるように設計されていることです:ここで私の意見では、mod_rewrite
の非常に良い初心者フレンドリーチュートリアルです。
http://net.tutsplus.com/tutorials/other/a-deeper-look-at-mod_rewrite-for-apache/
「index.php/something/else」の意味はどうですか? – DotNetStudent
Apacheはindex.phpを呼び出しますが、そのスクリプトは$ _SERVER [] superglobalから何かを抽出するための少しの作業を行います –