有WPPOP客户反映他的WordPress网站,在使用 http://domain.com 访问时,会自动重定向到 http://www.domain.com/wp-signup.php?new=domain.com,希望我们可以帮忙找到问题所在并帮助解决。
首先,我们检查了客户的域名解析设置,www.domain.com 和 domain.com 都正常解析到了主机IP地址,所以,可以排除域名解析的原因了。
然后,我们又帮助客户在主机管理里查看了域名的绑定和重定向设置,也都没有发现类似相关的操作设置,所以,也排除了域名绑定的原因。
在登录客户网站后台管理后,我们发现客户使用了WordPress多站点功能(Network),是不是这个原因导致的呢,我们通过Google搜索分析最终找到了问题所在,正是因为WordPress多站点的配置原因导致出现了这种问题。
那么,如何解决呢?其实很简单,往下看。
如果我们的WordPress网站启用了多站点网络功能,那么网会把 www 前缀对应的站点作为多站点网络上的新网站。
解决方法1:
在 .htaccess 文件中添加规则来纠正说明即可。
# DOMAIN #1 – Force www
RewriteCond %{HTTP_HOST} ^domain1.com
RewriteRule ^(.*)$ http://www.domain1.com/$1 [R=301,L]
把以上规则代码复制,添加到你网站根目录下的 .htaccess 文件中,保存即可。注意:对于子域,每个子域都需要自己的重定向指令。
解决方法2:
在 wp-config.php文件中,添加如下代码,把不包含www的内部页面链接重定向到主页。
define('NOBLOGREDIRECT', 'http://www.example.com');
以上方法选择其中一个就可以解决这个问题了。