如何通过 .htaccess 强制您的网站使用 HTTPS
无论您是在shared infrastructure、virtual machine还是dedicated server上运行您的网站,安装 SSL certificate 都可以启用 HTTP 和 HTTPS 访问。只有 HTTPS 会加密服务器与访客之间交换的数据。为了确保完全的安全性和 SEO 合规性,您应该使用 .htaccess 在整个网站范围内强制使用 HTTPS。
前提条件
在继续之前,请确保:
- 您的域名已正确连接到您的 hosting
- SSL certificate 已经安装并正常工作
要测试这一点,请打开 https://yourdomain.com。如果您在浏览器中看到安全锁图标——就说明一切正常。
通过 .htaccess 将 HTTP 重定向到 HTTPS
将以下代码添加到您网站根目录(通常是 /public_html)中的 .htaccess 文件顶部:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
这会做什么:
- RewriteEngine On — 启用 rewrite engine
- RewriteCond %{HTTPS} off — 检查 HTTPS 是否关闭
- RewriteRule — 将所有流量重定向到 HTTPS 版本,同时保留路径和查询参数
- 301 — 用于 SEO 的永久重定向
故障排除
如果重定向不起作用:
- 确保在您的 Apache config 中已启用 .htaccess
- 检查服务器上是否已启用 mod_rewrite
- 确保文件下方没有冲突的重定向
测试您的 HTTPS 重定向
保存更改后:
- 访问 http://yourdomain.com
- 您应该会被重定向到 https://yourdomain.com
WordPress 用户说明
如果您使用的是 WordPress,仅在 .htaccess 中强制 HTTPS 并不总是足够。请在以下位置更新 WordPress Address (URL) 和 Site Address (URL):
Settings → General → 将两者都更改为 https://yourdomain.com。
另外,还可以考虑使用像 Really Simple SSL 这样的插件来自动处理 mixed content。
总结
使用 .htaccess 强制 HTTPS 是保护您网站的一个简单但至关重要的步骤。它可以保护数据、建立用户信任,并支持您的 SEO 工作。如果您使用的是 shared hosting、VPS 或 dedicated server——.htaccess 方法都是通用且有效的。


