一些上下文:我正在为域下的网站提供服务,domain.com
并且alternate-domain.com
. 我想重定向所有请求,以便它们:
- 使用 SSL(基本上,重定向 http -> https)
- 使用规范的主机名
domain.com
(例如删除www
前缀)
这就是我在我的 apache 配置顶部所拥有的:
<VirtualHost *:80>
Redirect permanent / https://domain.com/
</VirtualHost>
<VirtualHost *:433>
Redirect permanent / https://domain.com/
SSLEngine on
# SSL Certificate directives are here.
</VirtualHost>
然后稍后我有https://domain.com的配置:
<VirtualHost *:443>
ServerName domain.com
# ...
</VirtualHost>
当我访问非 HTTPS 页面时,这按预期工作:
- http://www.domain.com重定向到
https://domain.com
- http://alternate-domain.com重定向到
https://domain.com
但是,当我通过 HTTPS 访问域时它不起作用。我的意思是重定向不会发生。
例子:
(注意:出现证书警告是正常的,因为它们与我拥有证书的域不匹配。重定向用户的更多理由。)
我究竟做错了什么?