从非www到www的类别页面重定向不起作用

时间:2014-12-13 07:38:38

标签: php wordpress .htaccess mod-rewrite url-redirection

我使用下面的代码删除index.php并将非www重定向到我的网站的www。它适用于主页,但是当我去分类页面时,index.php工作正常,但是从非www到www的内页重定向不起作用。这是一个wordpress网站。

# 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

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}$1 [R=301,L]

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

这一行使重写引擎停止处理更多规则:

RewriteRule . /index.php [L]

[L]的含义。

解决方案:首先进行www重定向。

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}$1 [R=301,L]

# 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