nginx实现301域名跳转

 关于域名跳转可以有多种方法:

1.在dns中设置URL重定向;

2.修改程序实现;

3.修改服务器配置;

第一种方法:我的dns使用的是免费的dnspod,需网站接入1个月后才可以使用URL重定向服务;

第二种方法:据说对SEO不好,果断放弃;

第三种方法:我的网站服务器使用的是nginx,下面介绍nginx实现域名重定向的两种方法。 

单独对需要跳转的域名在server写重定向

  
  
  
  
  1.     server{ 
  2.         listen       80; 
  3.         server_name  *.wphones.cn wphones.cn www.aiphones.cn  *.aiphones.cn aiphones.cn; 
  4.         access_log off; 
  5.         rewrite ^/(.*)$ http://www.wphones.cn/$1 permanent; 
  6.         } 
  7.   
  8.   server { 
  9.         listen       80; 
  10.         server_name  www.wphones.cn; 
  11.         ... 

对两个域名做一个host判断,在server_name下添加

  
  
  
  
  1.   server { 
  2.       listen       80; 
  3.       server_name  www.pdavip.com test.pdavip.com; 
  4.       if ($host != test.pdavip.com) { 
  5.       rewrite ^/(.*)$ http://www.fashao.me/$1 permanent; 
  6.       } 
  7. ... 
  8.   }

需要注意的是if条件中的域名单引号。应该是中文的单引号,英文单引号会出现下面的错误提示。

我想许多配置不成功的朋友就是这个原因引起的。

关于nginx重定向规则请参考:

http://www.jefflei.com/post/1015.html

如果这篇文章帮助到了你,请不要吝啬你的回复!

你可能感兴趣的:(nginx,域名,跳转,301)