Linux与运维

Apache 安装 SSL 证书后强制 HTTP 301 重定向到 HTTPS 的标准配置

在为站点成功申请并安装 Let's Encrypt 或商业 SSL 证书后,需要将所有明文 http:// 访问全局强制无缝跳转至 https://,以确保传输层加密并提升 SEO 权重。本文提供 VirtualHost 与 .htaccess 两种配置方式。


一、 方案一:在 Apache VirtualHost 80 端口配置全局重定向(性能最高,推荐)

编辑 Apache 站点配置文件(如 /etc/apache2/sites-available/lailiho.cn.conf):

<VirtualHost *:80>
    ServerName lailiho.cn
    ServerAlias www.lailiho.cn
    
    # 强制 301 永久重定向到 https
    Redirect permanent / https://lailiho.cn/
</VirtualHost>

二、 方案二:在站点根目录 .htaccess 中配置(适用于虚拟主机)

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

保存后运行 sudo apachectl configtest && sudo systemctl reload apache2 即可。