Ответ 1
^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']
), и он вызывает правильный код для рендеринга страницы, запрошенной пользователем.