Насправді зв’язок між Apache та WordPress не відбувається. "Магія" відбувається за mod_rewriteправилами Apache .
Для стандартної установки WordPress у вас є такі правила .htaccess:
# BEGIN 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>
# END WordPress
Зверніть увагу на цей рядок: RewriteRule . /index.php [L]
Тут ми пропонуємо Apache внутрішньо перенаправити будь-який запит URL-адреси на /index.php.
Якщо: цей рядок:RewriteCond %{REQUEST_FILENAME} !-fстає хибним. Це означає, що додаючи цеRewriteCondдо вищезазначеногоRewriteRule, ми говоримо Apache надсилати всі запити/index.php, але не, якщо це вже існуючий файл .
Також, коли цей рядок:RewriteCond %{REQUEST_FILENAME} !-dстає хибним. Це означає, що додаючи цеRewriteCondдо вищезазначеногоRewriteRule, ми кажемо Apache надіслати всі запити до/index.php, але не, якщо це вже існуючий каталог .
Отже, врешті-решт, якщо це вже не існуючий файл чи каталог, Apache внутрішньо надсилає всі інші запити /index.php.
Отже, як бачите, між Apache та WordPress жодного зв'язку не відбувається. Apache вирішує сам все і ми кажемо це , щоб зробити це , використовуючи RewriteRuleі RewriteCondдирективи.
Детальніше про mod_rewriteТУТ читайте .