.htaccess 重定向导致所有浏览器说 "privacy error, connection not private"

.htaccess redirect leads to all browsers saying "privacy error, connection not private"

所以我想将我的一个网站(包括每个页面)重定向到另一个网站的根目录。我是这样做的:

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) https://www.newdomain.com/ [R=301,L]

现在,当我访问任何 link 我的旧网站时,我在浏览器中收到此安全警告:

NET::ERR_CERT_AUTHORITY_INVALID
Attackers might be trying to steal your information from www.olddomain.com (for example, passwords, messages or credit cards).

旧网站是 http,新网站是 https 是否有帮助?

用同一个浏览器直接访问newdomain会怎么样?如果您没有看到相同的错误(意味着证书有效),则意味着主机 header 仍然包含旧域主机名。 您还需要重写主机 header,这可能会有所帮助: https://serverfault.com/questions/336796/can-apache-rewrite-a-requests-host-header-based-on-the-url

我明白了。我意外地将 .htaccess 托管在与新网站相同的 Plesk 虚拟主机上。所以 .htaccess 已经用 https 协议响应。我现在创建了一个新的虚拟主机来通过 http 接受来自域的连接。

试试这个:

RewriteOptions inherit
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^index</span>.php$ - [L]
</IfModule>

RewriteEngine On
RewriteBase /

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ / [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]