将非 www 重定向到 www,SSL ON

发布时间:2021-03-06 14:52

我已在 AWS ec2 实例上安装了 apache,但在使用 https 时将“非 www”重定向到“www”时遇到问题。

   http://example.com --> https://www.example.com WORKS
   http://www.example.com --> https://www.example.com WORKS 
   https://www.example.com --> https://www.example.com WORKS 
   https://example.com --> https://example.com DOESN'T REDIRECT to www.*

我想使用 VirtualHost(而不是 .htaccess)修复它,这就是我目前在 httpd.conf 文件中的内容。

<VirtualHost *:80> 
        DocumentRoot /var/www/html 
        ServerName example.com 
        ServerAlias www.example.com 

 Redirect "/" "https://www.example.com/" 
</VirtualHost>

这是在 httpd-le-ssl.conf 文件中:

<IfModule mod_ssl.c>
<VirtualHost *:443>
        DocumentRoot "/var/www/html"
        ServerName "example.com"
        ServerAlias "www.example.com"
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
</IfModule>

P.S 我已经使用 Let's Encrypt 来获取 SSL 证书。我提到这一点是为了防止其他一些“.conf”文件可能与我在 httpd.conf 文件中的配置有冲突。

回答1