814247614 发表于 2018-11-9 12:47:12

nginx实现301域名跳转

  关于域名跳转可以有多种方法:
  1.在dns中设置URL重定向;
  2.修改程序实现;
  3.修改服务器配置;
  第一种方法:我的dns使用的是免费的dnspod,需网站接入1个月后才可以使用URL重定向服务;
  第二种方法:据说对SEO不好,果断放弃;
  第三种方法:我的网站服务器使用的是nginx,下面介绍nginx实现域名重定向的两种方法。
  ①单独对需要跳转的域名在server写重定向
  


[*]    server{
[*]      listen       80;
[*]      server_name*.wphones.cn wphones.cn www.aiphones.cn*.aiphones.cn aiphones.cn;
[*]      access_log off;
[*]      rewrite ^/(.*)$ http://www.wphones.cn/$1 permanent;
[*]      }
[*]
[*]    server {
[*]      listen       80;
[*]      server_namewww.wphones.cn;
[*]      ...
[*]}
  

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


[*]server {
[*]      listen       80;
[*]      server_namewww.pdavip.com test.pdavip.com;
[*]      if ($host != ‘test.pdavip.com’) {
[*]      rewrite ^/(.*)$ http://www.fashao.me/$1 permanent;
[*]      }
[*]      ...
[*]}
  

  需要注意的是if条件中的域名单引号。应该是中文的单引号,英文单引号会出现下面的错误提示。
  我想许多配置不成功的朋友就是这个原因引起的。

  关于nginx重定向规则请参考:
  http://www.jefflei.com/post/1015.html
  如果这篇文章帮助到了你,请不要吝啬你的回复!


页: [1]
查看完整版本: nginx实现301域名跳转