我们知道网站的入口域名一般都是www.domain.com或者domain.com。有的网站选择带www而有的网站选择不带www。 但是搜索引擎会将www.domian.com和domian.com 认为是两个地址从而分散我们的权重。所以通过nginx的301转向来统计入口域名,有利于我们的网站提高权重。   以我的博客为例,服务器采用的就是nginx+fastcgi配合php模式。我的nginx关于博客的配置如下

server
  {
    listen       80;
    server_name  xinlogs.com www.xinlogs.com;

这样通过xinlogs.com或者www.xinlogs.com都可以访问到我的博客,但是这样做相当于我的博客首页有了两个地址,不利于搜索引擎收录和分配权重。 所以我采用nginx提供的rewrite来实现301转向,通过301转向的域名地址搜索引擎会将权重或者PR也一起转向过去。这样就不损失网站的PR和权重了。也就是把通过www或者不带www访问的这些流量和查询或者外链的权重整合到了一起。 下面是我的配置,我希望通过xinlogs.com作为我博客的统一入口域名,而带www的访问全部转向到xinlogs.com域名。

server
  {
    listen       80;
    server_name  xinlogs.com www.xinlogs.com;
    if ($host != "xinlogs.com") {
        rewrite ^/(.*)$ http://xinlogs.com/$1 permanent;
    }

经过上面的的配置,也就是那句if条件语句,将不是xinlogs.com的域名,全部转移到了xinlogs.com下。   下面我们测试下效果,因为只有明确的看到了转向信息,才证明我的配置成功了。所以采用curl命令测试。 测试www.xinlogs.com是否被转向

-bash-3.2# curl -i www.xinlogs.com
HTTP/1.1 301 Moved Permanently
Server: nginx/1.0.8
Date: Sun, 13 Nov 2011 05:03:22 GMT
Content-Type: text/html
Content-Length: 184
Connection: keep-alive
Location: http://xinlogs.com/

  301 Moved Permanently

301 Moved Permanently


nginx/1.0.8