首页 > 系统管理 > nginx的301重定向规则

nginx的301重定向规则

2009年2月24日

今天对博客进行了301重定向,把www.jefflei.com和jefflei.com合并,并把之前的域名也一并合并. 有两种实现方法,第一种方法是判断nginx核心变量host(老版本是http_host):
server {
server_name www.jefflei.com jefflei.com ;
if ($host != 'www.jefflei.com' ) {
rewrite ^/(.*)$ http://www.jefflei.com/$1 permanent;
}
...
}

第二种方法:
server {
server_name jefflei.com;
rewrite ^/(.*) http://www.jefflei.com/$1 permanent;
}

我用的是第一种方法,这两种方法中, permanent是关键,详细说明见nginx重定向规则说明

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

好了,现在可以检查结果,这里可以看返回的HTTP头信息:http://www.seoconsultants.com/tools/headers.asp

VN:F [1.9.22_1171]
Rating: 10.0/10 (2 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)
nginx的301重定向规则, 10.0 out of 10 based on 2 ratings

系统管理 ,

  1. 羽中
    | #1

    两种方法有什么区别呢?

    VA:F [1.9.22_1171]
    Rating: 2.5/5 (2 votes cast)
    VA:F [1.9.22_1171]
    Rating: -2 (from 2 votes)
  2. inetdemon
    | #2

    没啥差别,第一种nginx针对www子域的301重定向做些判断而已

    VN:F [1.9.22_1171]
    Rating: 3.0/5 (2 votes cast)
    VN:F [1.9.22_1171]
    Rating: -1 (from 1 vote)
  3. betaer
    | #3

    第一种能用来对所有输入的二级域名 跳转到@吗 ?
    我没有301 手动输入www 却是@ google也收录的@
    但是百度收录的全是www. 郁闷

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  4. | #4

    这个要顶,真需要呢。我采用的是第一种。

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  1. 本文目前尚无任何 trackbacks 和 pingbacks.

This blog is kept spam free by WP-SpamFree.