【问题标题】:301 redirect from another domain301 从另一个域重定向
【发布时间】:2017-06-15 01:51:26
【问题描述】:

我们有一大堆来自另一个域的子域指向我们的服务器。所以我正在尝试从该域的任何子域进行 301 重定向,以指向我们的子域

例如。

sub1.domain.com 301 重定向到ourdomain.com sub2.domain.com 301 重定向到ourdomain.com

可能有任意数量的子域指向它。

301 重定向应该是什么样子?

我有这个:

RewriteCond %{HTTP_HOST} *\.domain\.net\.au$ [NC]
RewriteRule ^ https://ourdomain.com%{REQUEST_URI} [R=301,L,NE]

但这会返回一个内部错误,如果我将 * 替换为一个实际的域,它会起作用。

这个问题的第二部分是关于 https,我们的网站始终是 https,当您点击 google 中指向这些域之一的链接时,它会尝试将它们带到 https://sub1.domain.com

即使我输入了重定向,它仍然会尝试转到https://sub1.domain.com,这会导致浏览器给出“这不安全”的错误,有没有什么办法可以通过 301 来实现它直接到我们的域而不首先在另一个域上给出 https 错误?

【问题讨论】:

    标签: apache .htaccess redirect mod-rewrite


    【解决方案1】:

    这是第一部分:

    RewriteCond %{HTTP_HOST} [^.]+\.domain\.net\.au$
    RewriteRule ^ https://ourdomain.com%{REQUEST_URI} [R=301,L]
    

    至于第二部分,不,那是做不到的。 HTTPS 证书协商必须在建立连接以发出重定向之前进行。您所能做的就是获取通配符 SSL 证书或以其他方式为子域提供有效证书。除非您接受大多数访问者不会接受的“不安全”错误,否则没有有效证书就无法完成此操作。但是一旦重定向存在一段时间,Google 无论如何都会删除这些列表。

    【讨论】:

      猜你喜欢
      • 2013-05-18
      • 2011-03-04
      • 1970-01-01
      • 2015-12-15
      • 2016-07-30
      • 2015-09-02
      • 1970-01-01
      • 1970-01-01
      • 2012-05-13
      相关资源
      最近更新 更多