永久重定向和 https

永久重定向和 https

我刚刚在我的服务器上设置了 https,但遇到了永久重定向问题。

例如如果我有一个链接http://domain.com/index.html它重定向我

https://www.domain.comindex.html

/ 丢失了,我不知道如何修复它。

这是与http://www.domain.com/index.html

这是我的 httpd.conf

<VirtualHost *:80>
  ServerName domain.com
Redirect permanent / https://www.domain.com/
</VirtualHost>
<VirtualHost *:80>
  ServerName www.domain.com
  Redirect permanent / https://www.domain.com/
</VirtualHost>

<VirtualHost *:443>
  DocumentRoot /var/www/domain/
  ServerName www.domain.com
  SSLEngine on
  SSLCertificateFile ssl.crt
  SSLCertificateKeyFile ssl.key
</VirtualHost>

答案1

<VirtualHost *:80>
  ServerName www.domain.com
  ServerAlias domain.com
  Redirect permanent / https://www.domain.com/
</VirtualHost>

去掉第二个。

你最初的问题是目标中的拼写错误;重定向的源和目标必须有匹配的斜线。

浏览器缓存持久性解释了其余部分。

还要注意,在 Apache 2.2NameVirtualHost *:80不是如果您有多个虚拟主机,则可选。

在 apache 2.4 中,它会猜测您的意思并做正确的事情。

答案2

为什么要重复虚拟主机定义?您只需使用如下一行:

ServerAlias www.domain.com domain.com

这里是参考。因此,一个 VH 就足够了,而不需要两个(端口 80)。您可以保留正在运行的那个 :)

相关内容