Apache 从 HTTPS 重定向到 HTTP 和 HTTPS?

Apache 从 HTTPS 重定向到 HTTP 和 HTTPS?

我在 Apache 2.4 上有一个奇怪的行为

当我执行 GET 操作时:

https://www.example.com/signup 

它去

https://www.example.com/signup -301-> **http**://www.example.com/signup/ -301-> https://www.example.com/signup/ -200-> https://www.example.com/signup/

我不确定为什么它将 HTTPS 重定向到 HTTP,然后又重定向回 HTTPS。

虚拟主机如下所示:

<VirtualHost *:443>
 Servername www.${APACHE_HOSTNAME}
 ServerAlias ${APACHE_HOSTNAME}
 <If "req('Host') == '${APACHE_HOSTNAME}'">
    Redirect permanent / https://www.${APACHE_HOSTNAME}/
 </If>
Alias "/signup" "/var/www/html/"
</VirtualHost>

谢谢

答案1

ServerPath /signup/

解决了这个问题。

<VirtualHost *:443>
 Servername www.${APACHE_HOSTNAME}
 ServerAlias ${APACHE_HOSTNAME}
 ServerPath /signup/
 <If "req('Host') == '${APACHE_HOSTNAME}'">
    Redirect permanent / https://www.${APACHE_HOSTNAME}/
 </If>
</VirtualHost>

相关内容