我正在尝试使用新安装的 SSL 证书设置我们的 VPS。该证书仅适用于 domain.com,不适用于 www.domain.com。所以当用户访问https://www.domain.com他们现在收到“不安全页面”警告——我当然不想看到。我想将用户重定向到 https://domain.com , 但我一直陷入无限循环..
这是我的虚拟主机文件..
<VirtualHost *:80>
ServerAdmin my@email.com
ServerName domain.com
ServerAlias domain.com
Redirect permanent / https://domain.com/
DocumentRoot /var/www/domain.com/
<Directory /var/www/domain.com/>
AllowOverride ALL
</Directory>
ErrorLog /var/www/logs/domain.com/error.log
CustomLog /var/www/logs/domain.com/access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerAdmin my@email.com
ServerName domain.com
ServerAlias domain.com
DocumentRoot /var/www/domain.com/
<Directory /var/www/domain.com/>
AllowOverride ALL
</Directory>
ErrorLog /var/www/logs/domain.com/error.log
CustomLog /var/www/logs/domain.com/access.log combined
SSLEngine on
SSLProtocol all
SSLCertificateFile /etc/ssl/mycert.crt
SSLCertificateKeyFile /etc/ssl/mykey.key
SSLCACertificateFile /etc/ssl/myca.crt
</VirtualHost>
我是这方面的初学者,除了购买我真的负担不起的通配符证书外,我似乎找不到解决方案。非常感谢您!
您可能需要将所有 www url 调用重定向到非 www.. 使用您的 .htaccess 尝试以下重写规则
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com [nocase]
RewriteRule ^(.*) http://example.com/ [last,redirect=301]
将 example.com 替换为您的域名,并确保将其放入网站文档根目录下的 .htaccess 中。
我是一名优秀的程序员,十分优秀!