我的 Apache 配置文件中有这个:
<VirtualHost *:80>
other stuff here
Redirect permanent / https://example.com/
</VirtualHost>
这很有效。它重定向所有www.example.com
=> https://example.com
。但问题是,如果访问者输入https://www.example.com
,则重定向不会发生。
我在 443 VirtualHost 下添加了相同的行
<VirtualHost *:443>
other stuff here
Redirect permanent / https://example.com/
</VirtualHost>
但这没有相同的效果,请问有什么想法吗?
答案1
<VirtualHost *:443> other stuff here Redirect permanent / https://example.com/ </VirtualHost>
假设您的 SSL 证书涵盖www
子域名和顶级域名,那么这里重要的是您的“其他内容” - 这将决定您要重定向哪个主机从。
如果访问者输入
https://www.example.com
则重定向不会发生。
为此,你需要有一个专门针对端口 443 的 VirtualHost 容器和涵盖主机www.example.com
(即包括www
子域)。这应该是单独的 VirtualHost 设置,仅用于重定向。例如,这需要包含适当的ServerName
或ServerAlias
指令:
ServerName www.example.com
我在下面添加了相同的行这443 虚拟主机
您将需要两个用于端口 443 的 VirtualHosts。一个用于www.example.com
重定向(如上所述),另一个用于example.com
包含所有配置的规范。