设置Htaccess以使用HTTP或HTTPS

时间:2018-10-27 03:55:39

标签: wordpress .htaccess ssl

当前SSL无法在我的网站上运行,因此那些尝试使用HTTPS网址访问该网站的人将无法看到它。

因此,我尝试将htaccess设置为允许同时使用URLS HTTP或HTTPS

我使用了以下规则

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteCond %{HTTPS}s on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

当我在浏览器上进行检查时,它仍然提示我该网站不安全。

我也尝试在同一个htaccess中使用这两个规则,但似乎不起作用。

因此,相反,我在修复SSL时尝试将https重定向到http,但似乎也不起作用。

https://help.crucial.com.au/hc/en-gb/articles/115004449827-How-to-Force-SSL-or-Non-SSL-on-your-Website-With-HTACCESS

有人知道如何将其添加到htaccess中或通过其他任何方式来实现这一点吗?

非常感谢

3 个答案:

答案 0 :(得分:0)

1)确保已安装SSL证书 2)使用适用于WordPress的“简单SSL”插件。它将允许通过https访问网站,还将解决混合内容问题

答案 1 :(得分:0)

确保在头文件中定义的静态URL不包含HTTP:。

使用指向您的CSS和JS的不可知路径,例如//而不是http://调用它们时

您可以在functions.php中使用它

    add_filter('script_loader_src', 'agnostic_script_loader_src', 20,2);
function agnostic_script_loader_src($src, $handle) {
    return preg_replace('/^(http|https):/', '', $src);
}

add_filter('style_loader_src', 'agnostic_style_loader_src', 20,2);
function agnostic_style_loader_src($src, $handle) {
    return preg_replace('/^(http|https):/', '', $src);
}

还要在浏览器中的代码中在控制台中进行检查,以查看是否有任何部分在使用HTTP而不是HTTPS

用于WordPress的“简单SSL”插件是一个很棒的插件

答案 2 :(得分:0)

您可以免费使用cpanel证书,转到cpanel并查找SSL / TLS,然后管理ssl,选择您的域并自动重新填充域,然后安装。

在.htaccess上添加此代码将进行重定向,当有人使用http访问您的网站时,将自动强制使用https进入您的网站

但是首先请确保您已经安装了有效的证书

RedirectMatch 403 \[

RewriteCond %{HTTPS} !on
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,QSA,L]