【发布时间】:2012-05-05 21:43:05
【问题描述】:
一些背景:我正在为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 访问域时它不起作用。我的意思是重定向不会发生。
例子:
(注意:出现证书警告是正常的,因为它们与我拥有证书的域不匹配。重定向用户的更多理由。)
我做错了什么?
【问题讨论】:
-
另外,我想避免
mod_rewrite。相关但没有帮助:stackoverflow.com/questions/234723/…