Htaccess 将 https 重定向到另一个 https

Posted

技术标签:

【中文标题】Htaccess 将 https 重定向到另一个 https【英文标题】:Htaccess redirect https to another 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]

这显然行不通!

任何帮助将不胜感激。

【问题讨论】:

【参考方案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。谢谢

以上是关于Htaccess 将 https 重定向到另一个 https的主要内容,如果未能解决你的问题,请参考以下文章

使用 htaccess 将一个 URL 重定向到另一个

htaccess 将子目录重定向到另一个子目录

使用 .htaccess 将 php url 重定向到另一个

使用 .htaccess 将特定 url 重定向到另一个 url

Htaccess 将所有文件从一个域中的子目录重定向到另一个域

如何将网站 301 永久重定向到另一个网站和永久链接的子类别(使用 .htaccess)