当我将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
答案 0 :(得分:2)
你的WordPress安装的wp-includes文件夹中的canonical.php文件是这个特殊魔法发生的地方 - 有一个调用wp_redirect,它发送一个带有规范网址的301:Moved Permanently标头。
FWIW,这与wp-includes / rewrite.php中的重写/重定向机制基本无关,后者处理生成.htaccess文件并将永久链接结构重写规则保存到WordPress选项(wp_options中的选项名称'redirect_rules') )。