Как Wordpress переписывает URL-адрес без переписывания карты? - PullRequest
4 голосов
/ 24 января 2011

Файл .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>

... и в htdocs не задана карта перезаписи. Как это работает? Как Apache знает, как переписать эти URL?

1 Ответ

8 голосов
/ 24 января 2011

Апач не знает. Все запросы отправляются на index.php, а Wordpress ведет внутренний журнал, на какую страницу куда перенаправить, и перенаправляет его. Итак, по сути, Wordpress на самом деле имеет два набора правил перезаписи, одно внутреннее и «жадное» внешнее правило в вашем .htaccess, которое в основном заставляет все запросы ссылаться на внутренние правила перезаписи.

Вам может быть интересно использовать этот плагин , который показывает все внутренние изменения, которые Wordpress делает сам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...