• nginx的301重定向规则

    Posted on 二月 24th, 2009 inetdemon 4 comments

    今天对博客进行了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

     

    4 responses to “nginx的301重定向规则”

    1. 两种方法有什么区别呢?

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

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

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

    Leave a reply