nginx实现域名301重定向规则方法

有的网站程序默认是没有域名301重定向的,意思就是带www和不带www都可以访问。但如果这样的话,你的网站同一个页面就会出现2个地址,这样对seo不好。nginx的301重定向方法和apache不一样。网上一共有2种方法,分别如下:

 1.单独对需要跳转的域名在server写重定向,下面是把不带www301到带www的方法:

server      
{      
listen       80;      
server_name luanzun.com;      
access_log off;      
rewrite ^/(.*)$ http://www.luanzun.com/$1 permanent;      
}      
server      
{      
listen       80;      
server_name www.luanzun.com;      
index index.html index.htm index.php;      
root  /home/user/luanzun;      
include location.conf;      
include zencart.conf;      
}

这种方法几乎所有的服务器都适用。  

2.对两个域名做一个host判断,不过这种方法在我的vps上测试时提示域名多次重定向·····但很多人成功了,或许是因为网站程序?这里我还是把方法贴出来,或许有人可以用到:  

server    
{    
listen       80;    
server_name www.dutool.com luanzun.com;    
if ($host != ‘luanzun.com’ ) {    
rewrite ^/(.*)$ http://www.luanzun.com/$1 permanent;    
}    
index index.html index.htm index.php;    
root  /home/user/luanzun;    
include location.conf;    
include zencart.conf;    
}

这种方法就是在中间插了下面一段代码

if ($host != ‘luanzun.com’ ) {    
rewrite ^/(.*)$ http://www.luanzun.com/$1 permanent;    
}

标签: none

添加新评论