我想重定向以下所有网址:
1- https://www.example.com
2- http://www.example.com
3- example.com
到这个单一的网址
www.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>
答案 0 :(得分:0)
您无法绕过安全警告,因为安全警告是在检测到无效证书时由浏览器生成的。
通过https连接到网站时,第一步是设置加密和解密将要发送的数据所需的密钥。客户端(在这种情况下是浏览器)的任务是验证用于加密和解密的密钥是否有效。这意味着证书是针对它想要发送/接收数据的域发出的,证书尚未过期,证书尚未撤回,证书是由客户信任的人签署的。所有这些都发生在浏览器从服务器接收任何非协议数据之前。
解决您问题的唯一方法是为您的网站安装有效的证书。您可以使用LetsEncrypt安装免费证书。有关如何设置证书以及如何设置自动续订的详细信息,请参阅其网站。