从https重定向到http而没有我的网站的证书

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从https重定向到http而没有我的网站的证书相关的知识,希望对你有一定的参考价值。

我想重定向以下所有网址:

1- https://www.example.com
2- http://www.example.com
3- example.com

到这个单一的网址

呜呜呜.example.com

这是htaccess,但它不适用于https案例。我仍然没有证书但不希望用户看到警告页面,直到我可以对其进行排序。

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [R=301,L]

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

    # Handle Authorization Header
    RewriteEngine On
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] [R=301,L]

     RewriteEngine On
     RewriteCond %{HTTPS} on
     RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301]

     RewriteEngine on
     RewriteCond %{HTTP_HOST} ^example.uk$ [NC]
     RewriteRule ^(.*)$ http://www.example.uk/$1 [R=301,L]

     RewriteEngine On
     RewriteCond %{HTTP_HOST} ^example.uk
     RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    <Files .htaccess>
    order allow,deny
    deny from all
    </Files>
</IfModule>
答案

您无法绕过安全警告,因为安全警告是在检测到无效证书时由浏览器生成的。

通过https连接到网站时,第一步是设置加密和解密将要发送的数据所需的密钥。客户端(在这种情况下是浏览器)的任务是验证用于加密和解密的密钥是否有效。这意味着证书是针对它想要发送/接收数据的域发出的,证书尚未过期,证书尚未撤回,证书是由客户信任的人签署的。所有这些都发生在浏览器从服务器接收任何非协议数据之前。

解决您问题的唯一方法是为您的网站安装有效的证书。您可以使用LetsEncrypt安装免费证书。有关如何设置证书以及如何设置自动续订的详细信息,请参阅其网站。

以上是关于从https重定向到http而没有我的网站的证书的主要内容,如果未能解决你的问题,请参考以下文章

在没有 SSL 的情况下将 https 重定向到 http - IIS 7

.htaccess文件未将HTTP重定向到HTTPS

如何使用 301 重定向而不是 302 将 HTTP 站点重定向到 HTTPS 站点

如何从 HTTPS 重定向到 HTTP 而不会出现烦人的错误消息

没有 index.php 的 AWS ELB 将 HTTP 重定向到 HTTPS

在codeigniter中打开SSL认证网站时,301不会在http上重定向而不是重定向302