Nginx301重定向

1)301重定向,把blog.moonsbird.com和moonsbirl.com合并,并把之前的域名也一并合并.

有两种实现方法,第一种方法是判断nginx核心变量host(老版本是http_host):

第一种方法:

server {

      server_name blog.moonsbird.com moonsbird.com;

      if ($host = 'moonsbird.com' ) {

         rewrite ^/(.*)$ http://blog.moonsbird.com/$1 permanent;

      }

      ...

}
 

第二种方法:

server {

      server_name blog.moonsbird.com moonsbird.com;

      if ($host != 'blog.moonsbird.com' ) {

         rewrite ^/(.*)$ http://www.moonsbird.com/$1 permanent;

      }

      ...

}

这两种方法中, permanent是关键,详细说明见nginx重定向规则说明。

last – 基本上都用这个Flag。
break – 中止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302
permanent – 返回永久重定向的HTTP状态301

2)检查配置文件语法

/usr/local/nginx/sbin/nginx -t
提示:
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

configuration file /usr/local/nginx/conf/nginx.conf test is successful
测试成功, 重启nginx,输入命令:
/usr/local/nginx/sbin/nginx -s reload
3)测试一是否成功设定完成
curl  –I   moonsbird.com
会输出
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Sat, 15 Apr 2017 03:38:52 GMT
Content-Type: text/html
Content-Length: 178
Connection: keep-alive
Location: http://blog.moonsbird.com/
Strict-Transport-Security: max-age=15768000

猜你喜欢

转载自www.cnblogs.com/xiaobingch/p/12464293.html