gpt4 book ai didi

.htaccess - 为多个域重写为 www 和 https 并不总是有效

转载 作者:太空宇宙 更新时间:2023-11-03 14:17:12 25 4
gpt4 key购买 nike

我们的平台可以通过多个域访问(每个语言/品牌一个)。对于所有域,我们强制使用 www.https://。我们使用一个包含以下代码的 .htaccess 文件来执行此操作:

RewriteEngine On
RewriteBase /

# FIRST WE REDIRECT TO www. IF NOT ALREADY THE CASE
RewriteCond %{HTTP_HOST} ^firstdomain\.com [OR,NC]
RewriteCond %{HTTP_HOST} ^seconddomain\.com [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

# THEN, WE REDIRECT TO https:// IF NOT ALREADY THE CASE
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTP_HOST} ^www\.firstdomain\.com [OR,NC]
RewriteCond %{HTTP_HOST} ^www\.seconddomain\.com [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

一切正常,除了一种情况:

直接调用时https://seconddomain.com (没有 www 但有 SSL),我们收到证书错误(因为域没有首先重定向到 www - 我们只有 www.* 的证书)。

不过,奇怪的是,这个问题不会出现在列表的第一个域:

https://firstdomain.com -> 被重定向到 https://www.firstdomain.com (没有错误,完美!)

为什么这只适用于第一个域而不适用于后续域?

感谢您的帮助!

总结:

WORKS FOR ALL DOMAINS
http://etc -> https://www.etc
http://www.etc -> https://www.etc

WORKS ONLY FOR THE FIRST DOMAIN
https://etc -> https://www.etc

最佳答案

好吧,来自 GeoTrust 的人告诉我们为什么它不起作用:

我们使用的是在 www.firstdomain.com 上颁发的 SAN 证书。 www.seconddomain.com、www.thirddomain.com 等是其备用域。

作为免费赠品,他们会自动在此证书中提供 firstdomain.com(不带 www)——但仅针对此主域,而不是备用域。

这就是为什么从 https://firstdomain.com 重定向的原因有效,但不适用于其他人。

希望对您有所帮助!

关于.htaccess - 为多个域重写为 www 和 https 并不总是有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16986950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com