因为发现小鸟数据非https下的访问,无论带不带后缀,站点服务器都会将访客带入https下的站点主页。所以修改了一下nginx的配置,让其在http下访问时,自动跳转到https的对应的文章地址。
在手机上测试的时候发现,含www的地址能够正确被访问,但仅输入abddb.com
泛解析的时候,却跳到了另一个不相关的地址blog.abddb.com
,这个地址是博主用来尝试wordpress主题的一个测试站。
因为刚改动过nginx的配置,所以还是从配置文件上去想办法,比较了一下之前的设置,除了前者是用逗号空开,而后者(网上摘抄的代码)则是用逗号空开之外,并没有什么大的区别。
server {
listen 80;
server_name abddb.com www.abddb.com ;
rewrite ^(.*)$ https://${server_name}$1 permanent;
}
除了这个多域名配置的,
号前后没有空格,显得过于紧凑之外,似乎也没有什么其它问题;
server {
listen 80;
server_name abddb.com,www.abddb.com;
return 301 https://abddb.com$request_uri;
}
尝试在逗号前后都增加了一个空格,然后nginx -s reload
重新启动服务器,跳转问题居然就这样解决了。之所以会觉得问题可能出在这里,是受之前踩得坑的启发,这个坑就是css中的calc
计算方法,在calc
中,加减符号与数据也同样需要以空格空开,否则会引发不可预料的错误。
server {
listen 80;
server_name abddb.com , www.abddb.com;
return 301 https://abddb.com$request_uri;
}
最终配置修改如上,增加空格之后,http跳https的结果就能够正常显示了。所以多域名的时候,用逗号和空格来分割域名都是可选项,但是如果选择使用逗号的话,需要注意不要将逗号与域名粘连,需要空格隔断后才能正确起效。