我刚刚在我的服务器上设置了https,并且遇到redirect永久性问题。
如果我有一个链接例如http://domain.com/index.html它redirect我
https://www.domain.comindex.html
/缺less,我不知道如何解决它。
它与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>
<VirtualHost *:80> ServerName www.domain.com ServerAlias domain.com Redirect permanent / https://www.domain.com/ </VirtualHost>
摆脱第二个。
你原来的问题是目标的错字, redirect的源和目标必须具有匹配的斜线。
浏览器caching持久性解释了其余部分。
另外请注意,在Apache 2.2中,如果您有多个虚拟主机,则NameVirtualHost *:80 不是可选的。
在apache 2.4中,它猜测你的意思,并做正确的事情。
你为什么复制你的虚拟主机定义? 你可以使用像这样的一行:
ServerAlias www.domain.com domain.com
这里是参考 。 所以,其中一个VH应该足够,而不是两个(端口80)。 你可以保持工作:)