如何使用 .htaccess 正确地将 HTTP 301 重定向到 HTTPS?
Posted
技术标签:
【中文标题】如何使用 .htaccess 正确地将 HTTP 301 重定向到 HTTPS?【英文标题】:How to 301 redirect HTTP to HTTPS properly with .htaccess? 【发布时间】:2016-11-29 09:51:56 【问题描述】:我的目标是通过 htaccess 将我的域名的所有变体 301 永久设为 https://*.com。另外,这是实现它的最佳方法吗?
例如,http://
、http://www
。和https://www
。 >>https://
我希望它的所有文件和/或子目录也都是 https://。
【问题讨论】:
【参考方案1】:你可以简单地这样做。
RewriteEngine On
RewriteCond %HTTPS !^on [OR]
RewriteCond %HTTP_HOST ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
请确保在尝试这些新规则之前清除浏览器缓存。让我知道这是怎么回事。
【讨论】:
嗨,感谢您的回复 --- 但是,我希望所有 301 的 http、http www 和 https www 都只是 https:// --- 当然它的子目录和文件可以登陆 https :// 以及 - 请协助 对你有用吗?如果是这样,请通过选中答案旁边的复选框来接受答案。 你测试了吗?它正是这样做的。你可以在这里测试它。 htaccess.madewithlove.be 当输入 https www 示例时,它不会 301 转为 https 示例......它仍然是 https www 那是你的问题。 规则运行良好。您必须拥有有效的证书才能使其正常工作。 SSL 握手连接发生在重定向之前。您可以阅读我的其他答案***.com/a/32143677/330987 的更多信息。当您安装有效的证书时,它将起作用。以上是关于如何使用 .htaccess 正确地将 HTTP 301 重定向到 HTTPS?的主要内容,如果未能解决你的问题,请参考以下文章
如何正确设置 Kohana 的 .htaccess,使 URL 中没有丑陋的“index.php/”?
如何在不丢失 Google 索引的情况下正确地将网站从 http 重定向到 https
.htaccess - 递归地将斜杠映射到下划线(内部重定向)