我有这个在我的Apacheconfiguration文件:
<VirtualHost *:80> other stuff here Redirect permanent / https://example.com/ </VirtualHost>
这很好。 它redirect所有www.example.com => https://example.com 。 但问题是如果访问者键入https://www.example.com那么redirect不会发生。
我在443 VirtualHost下添加了相同的行
<VirtualHost *:443> other stuff here Redirect permanent / https://example.com/ </VirtualHost>
但是这不具有任何想法相同的效果吗?
<VirtualHost *:443> other stuff here Redirect permanent / https://example.com/ </VirtualHost>
假设你的SSL证书同时覆盖www子域名和apex域名,那么这就是你的“其他东西”,在这里很重要 – 这将决定你从哪个主机redirect。
如果访问者键入
https://www.example.com则redirect不会发生。
为了实现这一点,您需要有一个专门用于端口443的VirtualHost容器, 并覆盖主机www.example.com (即包含www子域)。 这应该是一个单独的VirtualHost设置只是为了redirect。 例如,这将需要包含适当的ServerName或ServerAlias指令:
ServerName www.example.com
我在 443 VirtualHost下添加了相同的行
您将需要两个虚拟主机端口443.一个用于redirect的www.example.com (如上所述),另一个用于包含所有configuration的规范example.com 。