今天又宅在家里一天,搭建一个新的wordpress博客,服务器用的是nginx。
因为之前搭建过另外一个nginx+wordpress的博客,于是就直接用了之前nginx的配置,其中用到了下面的配置:
if ($host != 'www.abc.me') {
rewrite ^/(.*)$ http://www.abc.me/$1 permanent;
}
这个大家应该很能看得出来,是用来将abc.me 重定向到www.abc.me的。
在加上这段配置后,发现在浏览器端报告多重偱环,用chrome发一直在www.abc.me和abc.me之前重定向。
在发现这个问题后,首先觉得是我nginx配置的问题,检查后发现除了上面负责从abc.me重定向到www.abc.me之外没有发现其它的相关配置,而且之前在之前的另一个网站这个配置也没有出现过这个问题的。问题出现在哪呢?
折腾了半天实在没法子,又不能绕过去,只好先试着把上面所说的重定向先注释掉试试,竟然发现就好了,不会重定向了。
现象变成了这样:
打开abc.me后不会重定向www.abc.me了,能顺利打开网页。
但打开www.abc.me后,还是会转到abc.me,之后网页OK。
这样子说明,那个www.abc.me重定向到abc.me还是一起在起作用,虽然不知道在哪。
百思不得其解中,突然灵光一闪,这个东西不会和我在wordpress后台设置的站点地址有关系吧,一检查,果然那里就是设置的abc.me,这个设置会把www.abc.me转到abc.me吗?
试着将其改成www.abc.me后,发现这个设置还真的能将abc.me重定向www.abc.me.
这样子貌似和我自己写在nginx中的配置起到了相同的效果。
之前没有想过wordpress后台的这个设置还有这么神奇的地方:(
有空得研究一下wordpress的代码,到底是哪里在搞鬼了。