Apache 设置以防止浏览器重定向

Apache 设置以防止浏览器重定向

我有一个关于重定向的问题。

我们目前已设置了具有通配符证书的 Apache*.shopdomain.com并在不同的子域名上运营不同的商店,例如shop-a.shopdomain.comshop-b.shopdomain.com。客户现在决定,他们还想获得以下形式的请求www.shop-a.shopdomain.com

我们现在要做的是设置以下形式的重写规则:

RewriteCond %{HTTP_HOST} ^(http\:\/\/)?www\.shop-a\.shopdomain\.de$ [NC]
RewriteRule ^(.*)$ https://shop-a.shopdomain.de [R=301]

您会看到,在这种情况下,我们还重定向到 https。如果您访问没有“www”的商店,则此重定向由应用程序本身执行。

问题:如果我访问www.shop-a.shopdomain.de第一次使用时,效果很好。重定向正确执行,商店正常运行。但之后,如果我再次使用相同的 URL,浏览器似乎会缓存此重定向。它首先重定向到https://www.shop-a.shopdomain.de。这会导致问题,因为在这种情况下,通配符证书不再起作用。因此,第二次重写(删除“www”)无法再发生,因为证书无效。

现在的问题是:有没有办法阻止浏览器缓存重定向到 https?或者还有其他“解决方法”解决方案?我知道干净的方法是安装所有子域的证书而不是通配符,但应该有另一种方法来处理这个问题。

相关内容