公司域名www.test.com,有些客户会通过test.com访问,
之前是在nginx的server_name配置段配置两个域名。
DNS解析记录将两个域名都解析到此主机IP。
开发那边要求test.com是要跳转至www.test.com。
配置nginx的页面跳转:
1、if+rewrite
if ($host *~ 'test.com')
{
rewrite ^/(.*)$ http://www.test.com/$1 permanent;
}
# 或者
if ($host = 'test.com')
{
rewrite ^/(.*)$ $1 permanent;
}
缺点一:if匹配影响nginx的效率
缺点二:*~ 匹配即test.com也匹配www.test.com
缺点三:利用wget去访问test.com,会经历很多此301的permanent,最后访问失败。
2、两个server配置
server {
server_name test.com;
return 301 $scheme://www.test.com$request_uri;
}
这种方式比较好