私はMod_Rewriteのこれらの2行が何をするのかを理解しようとしているので、助けていただければ幸いです。前もって感謝します。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php
私はMod_Rewriteのこれらの2行が何をするのかを理解しようとしているので、助けていただければ幸いです。前もって感謝します。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php
要求されたURIが既存のファイルであるかディレクトリであるかをチェックします。フロントは!
条件を「not」にするため、リクエストはファイルまたはディレクトリにマップされません。
mod_rewriteのと説明を参照してください-f
-d
すべてのリクエストがブラウザでロードできるように、あるファイルにマップされていませんか?
いいえ。リクエストは、存在せずに書き換えられるものである可能性があります。たとえば、http://en.wikipedia.org/wiki/somethingは、URIが/wiki/something
であることを意味します。これは、物理ファイルまたはディレクトリにマップされません。しかし、内部的には、に書き換えるルールがあり、実際に/wiki/something
存在します。index.php?title=something
index.php
編集:編集された質問の場合
.php
最後にaを追加します。!-f
と!-d
チェックなしで: