我正在尝试使用Apache 2.4进行网址重写。我想要那些请求
重新映射到
以避免SSL通配符证书中出现与www.subdomain.domain.com不匹配的错误。
我尝试过:
<VirtualHost ip:80>
ServerName subdomain.domain.com
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
<VirtualHost ip:80>
ServerName www.subdomain.domain.com
Redirect permanent / https://subdomain.domain.com
</VirtualHost>
<VirtualHost ip:443>
ServerName www.subdomain.domain.com
Redirect permanent / https://subdomain.domain.com
</VirtualHost>
<VirtualHost ip:443>
ServerName subdomain.domain.com
...
...
...
我的配置适用于(1)和(2)但不适用于(3)。我的错误在哪里?
答案 0 :(得分:1)
我认为问题是您的某个端口443虚拟主机没有启用SSL。
试试这个
<VirtualHost ip:443>
ServerName www.subdomain.domain.com
Redirect permanent / https://subdomain.domain.com
SSLEngine on
SSLCertificateFile /something
SSLCertificateKeyFile /something
</VirtualHost>
否则,该请求将无法理解,因为它已加密。
请参阅例如How to redirect https to http without any SSL Certificate了解为何需要这样做。