2014-02-17 79 views
0

我以domain.com格式擁有WordPress多站點(使用子文件夾,而不是子站點)。出於一致性和更好的搜索引擎優化的原因,我想將其轉發到www.domain.com。在WordPress多站點中轉發到www

我試圖把這個代碼放到.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,但它不會讓我現在再看到我有一個多站點。

回答

0

我會嘗試第一個not使用htaccess重定向並刪除您的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]