强制用户使用https:// ONLY访问该站点

时间:2014-10-31 16:23:20

标签: php regex

我想强制用户使用https://访问我的网站,以便我使用以下php代码和.htaccess文件。

php代码:

if (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] !== 'on') {
    if(!headers_sent()) {
        header("Status: 301 Moved Permanently");
        header(sprintf(
            'Location: https://%s%s',
            $_SERVER['HTTP_HOST'],
            $_SERVER['REQUEST_URI']
        ));
        exit();
    }
}

.htaccess文件

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

例如,我的网站网址名称是: www.example.com 。如果将网址从https://更改为http://,则成功重定向到https:// 如果我将网址更改为http://www.example.com。那么它不会去https://。它正在接受http://。

注意:我已付费版本的https://

我希望该用户无法使用HTTPS://访问我的网站。我该怎么做?

1 个答案:

答案 0 :(得分:1)

如果您正在运行Apache,最简单的方法是使用.htaccess自动将http访问重定向到https。这是一个例子:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

将以上代码保存在根文件夹中的现有.htaccess文件中。如果您没有.htaccess文件,则可以将上述文件保存为纯文本文件,并使用名称.htaccess保存。注意领先'。'在文件名中。这很重要。将该文件上传到根目录。