Nginx服务器中实现301重定向代码

进行了301重定向,把www.domain.com和 domain.com合并,并把之前的域名也一并合并. 有两种实现方法:

第一种方法:

判断Nginx核心变量host(老版本是http_host):

server {
server_name www.domain.com domain.com ;
if ($host != 'www.domain.com' ) {
rewrite ^/(.*)$ http://www.domain.com/$1 permanent;
}
...
}

第二种方法:

server {
server_name domain.com;
rewrite ^/(.*)$ http://www.domain.com/$1 permanent;
}

测试了第一种方法ok,这两种方法中, permanent是关键,详细说明见nginx重定向规则说明。

last – 基本上都用这个Flag。

break – 中止Rewirte,不在继续匹配

redirect – 返回临时重定向的HTTP状态302

permanent – 返回永久重定向的HTTP状态301