如何强制/重定向 http 到 https?

如何强制/重定向 http 到 https?

我已经配置了以下 VirtualHost:

<VirtualHost *:80>
    ServerAdmin     [email protected]
    DocumentRoot    /var/www/mysite.com/public_html/
    ServerName      www.mysite.com
    ServerAlias     mysite.com

    <Directory "/var/www/mysite.com/public_html">
        #Options FollowSymLinks
        #AllowOverride All
        #Order allow,deny
        #Allow from all
      Options Indexes FollowSymLinks
      AllowOverride All
      Order allow,deny
      Allow from all
      Require all granted
    </Directory>

我想要:

  1. 强制仅使用 https 连接
  2. 并允许在用户使用不带 www 的 mysite.com 时进行连接

怎么做?

谢谢

答案1

首先,您应该为 HTTPS 定义 443 端口虚拟主机。

其次,添加从端口 80 到 443 的重写规则。

样本片段:

<VirtualHost __default_:443>
    ServerAdmin     [email protected]
    DocumentRoot    /var/www/mysite.com/public_html/
    ServerName      www.example.com
    ServerAlias     example.com
    SSLEngine       On
    ...
</VirtualHost>

<VirtualHost *:80> 
    ServerName www.yourdomain.com 
    Redirect permanent / https://www.example.com/ 
</VirtualHost>

相关内容