URL重写而不修改.htaccess- WordPress如何做到这一点?

时间:2011-11-06 13:23:27

标签: apache wordpress .htaccess mod-rewrite url-rewriting

当我将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 个答案:

答案 0 :(得分:2)

你的WordPress安装的wp-includes文件夹中的canonical.php文件是这个特殊魔法发生的地方 - 有一个调用wp_redirect,它发送一个带有规范网址的301:Moved Permanently标头。

FWIW,这与wp-includes / rewrite.php中的重写/重定向机制基本无关,后者处理生成.htaccess文件并将永久链接结构重写规则保存到WordPress选项(wp_options中的选项名称'redirect_rules') )。