【问题标题】:The right way to do a 301 NGINX redirect without losing backlinks在不丢失反向链接的情况下进行 301 NGINX 重定向的正确方法
【发布时间】:2018-12-13 00:45:36
【问题描述】:

我在 2016 年 12 月的更新中遇到了问题,失去了 99% 的流量(200K/天到 1K/天)。结果,我在同一领域创建了一个新网站。现在,我的目标是将 DA(域授权)从旧域转移到我的新域。但是,在尝试以这种方式完成 301 重定向时

rewrite ^ $scheme://new-domain.com$request_uri permanent;

我遇到了另一个问题。

我有很多来自 WSJ、NYT、Wikipedia 等的高质量反向链接,这些反向链接指向我旧域上的某些特定页面。如果我使用这样的重定向,这些高质量的反向链接现在指向空白页面 (404)。

我的旧域上有数千个页面,但我不能再在新域上创建这么多页面了。

这是我的主要问题:

1) 如何在不丢失旧质量反向链接的情况下完成 301 重定向? 2)有没有办法将所有旧反向链接重定向到我的旧域到我的新域的主页?换句话说,我想将所有旧反向链接的所有域权限重定向到我的新域的主/索引页面。

我使用 NGINX。

P.s.:我无法在 Stack Overflow 上找到我的问题的确切答案。

【问题讨论】:

    标签: redirect nginx seo http-status-code-301


    【解决方案1】:

    你有几个选择,取决于一些事情。

    旧域是否与新域托管在同一台服务器上,并且所有旧文件都可以访问?如果是这样,您是否仍然有兴趣从新域或旧域提供这些页面,或者您只是希望旧域的所有流量都到达新域?

    如果最后一个选项很简单,您只需创建两个服务器块,每个域一个。

    首先是旧的,我们将摆脱您的rewrite 指令,因为return 更合适,并设置第一个块以将所有内容捕获到旧域并将其发送到新域:

    server {
        listen       80 default_server;
        server_name  old-domain.com;
        return       301 https://new-domain.com/ # Everything to homepage, or:
        return       301 https://new-domain.com$request_uri; # This will include the full request url
    }
    
    
    server {
        listen       443 ssl http2;
        server_name  www.new-domain.com;
        ...
    }
    

    如果您仍想提供旧域中的内容,您也可以这样做,这取决于您的目标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-25
      • 2011-01-20
      • 2015-12-10
      • 2017-01-18
      • 1970-01-01
      • 2020-09-30
      • 1970-01-01
      • 2018-07-30
      相关资源
      最近更新 更多