Это код .htaccess в WordPress. Может кто-нибудь объяснить, как это работает?

Это код .htaccess для постоянных ссылок в WordPress. Я не понимаю, как это работает. Может кто-нибудь объяснить?

<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> 

Я googled и узнал, что -f и -d часть означает, чтобы дать реальным каталогам и файлам более высокий приоритет.

Но тогда что такое ^index\.php$ - [L] и RewriteRule . /index.php [L] RewriteRule . /index.php [L] ?

Как WordPress обрабатывает категории, теги, страницы и т. Д. Только с этим?

Это происходит внутри? Если это так, мне интересно узнать, как это сделать в PHP.

благодаря

^index\.php$ - [L] предотвращает переписывание запросов для index.php , чтобы избежать ненужной проверки файловой системы. Если запрос для index.php директива ничего не делает - и прекращает обработку правил [L] .

Этот блок является одним правилом, и он говорит, что если он не является реальным файлом, а не реальным каталогом, перенаправляйте запрос на index.php .

 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] 

index.php сам интерпретирует URL-адрес, запрошенный клиентом (PHP может видеть запрошенный URL-адрес с помощью $_SERVER['REQUEST_URI'] ), и он вызывает правильный код для отображения страницы, которую запросил пользователь.