更改域时未正确重定向 https

Not redirecting properly the https when changing domain

我的 Plesk 网站和域部分加载了两个域, 这两个域没有 www, 所以假设这两个域是:

example.com
example.es

当我从 example.es 重定向到 example.com 时,它已完成,但使用 http,而不是 https .

因此,我决定使用以下说明编辑我的 .htaccess 文件:

RewriteEngine On    
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}

但是我的页面没有正确加载,因为看到网络检查器它创建了一个无限循环的请求到我的主页 example.com

有人知道某种解决方案吗?

And I have Application Load Balancer for the ssl certificate that is inside my EC2 AWS machines.

请尝试以下操作:

RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{HTTP:X-Forwarded-Proto} ^http$
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

负载平衡器和您的应用程序服务器之间的连接可能只是 HTTP,因此 HTTPS Apache 服务器变量始终是 off

(首先使用 302 测试 - 临时 - 重定向以避免潜在的缓存问题。)

尽管如果您要将所有内容(即 example.es)重定向到 example.com,那么请改为执行以下操作:

RewriteCond %{HTTP_HOST} !=example.com [NC,OR]
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^ https://example.com%{REQUEST_URI} [R=301,L]

假设两个域都指向相同的文档根目录,那么您不需要在 Plesk 中进行重定向,否则听起来会导致 2 次重定向。