Многие ваши вопросы будут объяснены, если вы изучите класс WP_Rewrite
.
Как правило, как многие из вас сказали, .htaccess
просто переписывает все URL, которые не разрешаются, в фактический файл или папку на сервере в index.php
.
WordPress сопоставляет URL со списком правил перезаписи, который представляет собой массив ключей и значений. Ключ является регулярным выражением, и значение отображает обратные ссылки на строку параметра.
Например, одно правило перезаписи:
category/(.+?)/page/?([0-9]{1,})/?$' => 'index.php?category_name=$matches[1]&paged=$matches[2]'
Затем класс WP
вместе с WP_Query
принимают параметры и обрабатывают запрос.