Перезапись URL без изменения .htaccess - как это делает WordPress? - PullRequest
0 голосов
/ 06 ноября 2011

Когда я устанавливаю адрес (URL) моего сайта WordPress равным = http://www.example.com, сайт перенаправляет всех пользователей на сайт, используя «www». Префикс:

(например, http://example.com/... будет перенаправлено на http://www.example.com/...)

Когда я проверяю файл .htaccess, нет правила для обработки пропущенного 'www'. Как WordPress делает это?

Файл WordPress .htacess:

# 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

1 Ответ

2 голосов
/ 06 ноября 2011

Файл canonical.php в папке wp-include вашей инсталляции WordPress - это то место, где происходит это конкретное волшебство - есть вызов wp_redirect, который отправляет заголовок 301: Moved Permanently с каноническим URL.это в основном не связано с механизмом перезаписи / перенаправления в wp-includes / rewrite.php, который обрабатывает создание файла .htaccess и сохранение правил перезаписи структуры постоянных ссылок в опцию WordPress (имя опции 'redirect_rules' в wp_options).*

...