Nginx 301重定向方法

[font=微软雅黑][size=4][b]应用场景:[/b][/size][/font]
把 [url=www.979137.com]www.979137.com[/url] 和 [url=979137.com]979137.com[/url] 合并,并把之前的域名也一并合并

最简单的实现方法就是判断 nginx 核心变量 host (老版本是http_host) :

server {
        ...
        server_name www.979137.com 979137.com www.daoliu.net daoliu.net;
        ...
        if ($host != '979137.com' ) {
                rewrite ^/(.*)$ https://979137.com/$1 permanent;
        }
        ...
}

其中 permanent 是关键。nginx rewrite 规则简单说明:

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

检查结果,直接从浏览器测试,或者用命令行测试:[url=http://www.979137.com/forum.php]http://www.979137.com/thread-73-1-1.html[/url]

shiliang@xhost:/home/www/hosts$ curl -I ‘http://www.979137.com/thread-73-1-1.html’
HTTP/1.1 301 Moved Permanently
Server: nginx/1.6.0
Date: Sun, 31 Aug 2014 02:05:30 GMT
Content-Type: text/html
Content-Length: 184
Connection: keep-alive
Location: [url]https://979137.com/thread-73-1-1.html[/url]

使用301重定向 可以最大程度降低你更换域名后带来的损失,
如搜索引擎收录、快照更新、外链、PR(权重)、及各种线上线下的推广还有用户体验等等等等,
具体为啥,不了解的可以问度娘OR谷姐

最新文章

Return Top