これは、WordPressのパーマリンクの.htaccessコードです。これがどのように機能するのか理解できません。誰か説明できますか?
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
私はグーグルで-f
および-d
partは、実際のディレクトリとファイルに高い優先度を与えることを意味します。
しかし、その後^index\.php$ - [L]
およびRewriteRule . /index.php [L]
?
WordPress=これだけでカテゴリ、タグ、ページなどを処理しますか?
内部で発生しますか?もしそうなら、私はPHPでそれを行う方法を学ぶことに興味があります。
ありがとう
^index\.php$ - [L]
はindex.php
は、不必要なファイルシステムチェックを回避するために書き換えられません。リクエストがindex.php
ディレクティブは何もしません-
および処理ルールの停止[L]
。
このブロックはすべて1つのルールであり、実際のファイルでもディレクトリでもない場合は、リクエストをindex.php
。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
index.php自体は、クライアントから要求されたURLを解釈します(PHPは$_SERVER['REQUEST_URI']
)そして、ユーザーが要求したページをレンダリングするための正しいコードを呼び出します。