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 将 php url 重定向到另一个
使用 .htaccess 将特定 url 重定向到另一个 url