【问题标题】:Redirecting all versions of my old website to https version of my new website in .htaccess将我的旧网站的所有版本重定向到 .htaccess 中我的新网站的 https 版本
【发布时间】:2015-01-26 23:26:59
【问题描述】:

我目前需要将旧域重定向到新域。我在我的旧域上设置了转发,并且除了 https 版本之外的所有内容都重定向。我刚刚扩展了旧域上的 ssl,但它仍然没有重定向。所以现在我将使用 .htaccess 而不是转发来添加重定向。我在网上到处查看,但似乎找不到如何使用重写方法将旧域的所有版本重定向到 .htaccess 中新域的 https 版本。这就是我找到的全部:

redirect permanent https://www.us.olddomain.com/ https://www.newdomain.us/
redirect permanent https://us.olddomain.com/ https://www.newdomain.us/
redirect permanent http://www.us.olddomain.com/ https://www.newdomain.us/
redirect permanent http://us.olddomain.com/ https://www.newdomain.us/
redirect permanent www.us.olddomain.com/ https://www.newdomain.us/
redirect permanent us.olddomain.com/ https://www.newdomain.us/

这不是我应该使用的方法吗?

【问题讨论】:

    标签: .htaccess redirect forwarding


    【解决方案1】:

    已经有大量关于此的帖子,但您可以在旧域上执行此操作。

    RewriteEngine On
    RewriteRule ^(.*) https://www.newdomain.com/$1 [R=301,L]
    

    【讨论】:

    • 这将导致重定向循环,因为新旧域都指向同一个服务器。您必须排除与新域匹配的请求以阻止它。
    • @RaviThapliyal 如果他提到他们在同一台服务器上,我会提出条件。他的帖子没有表明这一点。除非我不会读。 :)
    • 是的,OP 没有提到它。我会给你那个:)
    • 谢谢,是的,他们在同一个服务器上
    • 这是否也适用于我的新域的 .htaccess 以强制使用 www 版本?
    【解决方案2】:

    使用正则表达式模式捕获所有旧域并重定向如下

    RewriteEngine on
    
    RewriteRule %{HTTP_HOST} ^(www\.)?us\.olddomain\.com$ [NC]
    Redirect ^ https://www.newdomain.us%{REQUEST_URI} [R=301,L]
    

    上述规则检查us.olddomain.com(带或不带www 前缀)并重定向到新的https 站点URL。由于旧 URL 是通过 http 还是 https 访问并仍然需要重定向,因此规则不会检查它。

    【讨论】:

      猜你喜欢
      • 2018-08-19
      • 2021-02-17
      • 1970-01-01
      • 2015-05-01
      • 2015-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-04
      相关资源
      最近更新 更多