【问题标题】:Htaccess redirect https to another httpsHtaccess 将 https 重定向到另一个 https
【发布时间】:2016-02-25 17:54:49
【问题描述】:

我们刚刚为我们的域购买了 .com 扩展名,并且我们在这两个域上都使用了 ssl 证书:

https://www.domain.net
https://www.domain.com

现在我们希望使用 .com 扩展名,并使用 htaccess 文件将我们的用户从旧域重定向到新域:

http[s]://domain.net -------|
http[s]://www.domain.net ---|---> https://www.domain.com
http[s]://domain.com -------|

我对 htaccess 不是很熟悉,所以我尝试了:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^http[s]?://(www\.)?domain\.com(.*)?$
RewriteRule ^(.*)$ http[s]?://www.domain.com/? [R,L]

这显然行不通!

任何帮助将不胜感激。

【问题讨论】:

    标签: regex apache .htaccess redirect mod-rewrite


    【解决方案1】:

    您无法在RewriteCond %{HTTP_HOST} 中匹配方案http://

    你可以使用这条规则:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
    RewriteRule ^ https://www.domain.com%{REQUEST_URI} [R=302,L]
    

    【讨论】:

    • 它可以工作,但它添加了一个斜杠。 https://domain.net 重定向到 https://www.domain.com//。它可能与 Magento 有关,对吧?
    • 实际上在%{REQUEST_URI} 之前的/ 是不需要的。查看更新的答案。
    • 谢谢,太完美了!出于 seo 的目的,我刚刚将 302 更改为 301。
    • connection is not secure 问题无法通过重写规则解决,因为与 Apache 的 SSL 握手发生在 mod_rewrite 模块被调用之前。
    • 这对我来说很棒,我也从 302 更改为 301。谢谢
    猜你喜欢
    • 1970-01-01
    • 2018-09-17
    • 2018-07-03
    • 2017-06-18
    • 1970-01-01
    • 2022-01-11
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多