转发到WordPress多站点中的www

时间:2014-02-17 23:21:04

标签: wordpress .htaccess dns forwarding

我的格式为domain.com的WordPress多站点(使用子文件夹,而不是子域名)。出于一致性和更好的SEO的原因,我想将其转发到www.domain.com。

我已尝试将此代码放入.htaccess,但我得到了一个重定向循环:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# this is the code I added to forward to www
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

我很确定我的域名设置为在WordPress设置中没有www,但现在不再让我看到我有多站点了。

1 个答案:

答案 0 :(得分:0)

我会首先使用htaccess重定向尝试not并删除您拥有的www重定向。然后修改您的wp-config.php并将DOMAIN_CURRENT_SITE更改为您的www域名。这样wordpress将处理重定向。


或者你可以试试htaccess方法,但是你可能有一些订单问题,我相信MU,重定向需要是第一件事。将domain.com替换为您的真实网站。

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

RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]