【问题标题】:Redirect an Old Domain to a New Domain with HTTPS in .htaccess在 .htaccess 中使用 HTTPS 将旧域重定向到新域
【发布时间】:2016-02-18 17:41:30
【问题描述】:

假设我们有,

旧域:http://www.olddomain.com
新域名:https://www.newdomain.org

这是我的 .htaccess 文件数据:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^olddomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$
RewriteRule ^/?$ "https\:\/\/www\.newdomain\.org\/" [R=301,L]

有时在重定向时,浏览器会显示安全错误,使其不受信任。

现在,

  1. 如何做到这一点?
  2. 如何将其从非 www 重定向到 www ?

【问题讨论】:

    标签: apache .htaccess mod-rewrite redirect server


    【解决方案1】:

    在测试之前更改规则的顺序并清除浏览器缓存:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$ [NC]
    RewriteRule ^ https://www.newdomain.org%{REQUEST_URI} [L,R=301]
    
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule ^ https://www.newdomain.org%{REQUEST_URI} [L,R=301]
    
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    

    【讨论】:

    • 安全错误已清除!但它无法将非 www 转换为 www。
    • 完美@anubhava!非常感谢!
    • 完美,我不小心为临时域保留了 301,浏览器缓存抛出 ssl 错误,这个问题解决了
    猜你喜欢
    • 1970-01-01
    • 2020-06-15
    • 2016-06-24
    • 1970-01-01
    • 2012-04-03
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    相关资源
    最近更新 更多