我有一个格式为domain.com的WordPress多站点(使用子文件夹,而不是子域)。出于一致性和更好的搜索引擎优化的原因,我想把它转发给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,但现在我有了一个多站点,它不再让我看到这一点。
发布于 2014-02-18 08:07:05
我会先尝试使用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]https://stackoverflow.com/questions/21841288
复制相似问题