Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php .htaccess-force HTTPS_Php_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Php .htaccess-force HTTPS

Php .htaccess-force HTTPS,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我一直在努力寻找一种使用.htaccess在我的网站上强制使用HTTPS的方法。我尝试过的任何方法都会导致重定向循环。我找到了一个PHP替代方案,并对其进行了修改,以适合我的Web服务器,但如果有人能提供帮助,我希望使用与.htaccess等效的 if ($_SERVER['HTTP_X_FORWARDED_PROTO'] != "https") { header("HTTP/1.1 301 Moved Permanently"); $location = "https://"

我一直在努力寻找一种使用.htaccess在我的网站上强制使用HTTPS的方法。我尝试过的任何方法都会导致重定向循环。我找到了一个PHP替代方案,并对其进行了修改,以适合我的Web服务器,但如果有人能提供帮助,我希望使用与.htaccess等效的

if ($_SERVER['HTTP_X_FORWARDED_PROTO'] != "https") {
    header("HTTP/1.1 301 Moved Permanently");
    $location = "https://" . $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI];
    header("Location: $location");
    exit;
}

您可以在根目录中使用此规则。htaccess:

RewriteEngine On

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301,NE]

您可以在根目录中使用此规则。htaccess:

RewriteEngine On

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301,NE]

谢谢这很有效。但是,我的根域的文档根目录位于子目录中,因此它重定向到-您知道如何修复吗?好的,请尝试:重写规则^.*$https://%{HTTP_HOST}/$1[L,R=301,NE]作为此规则的最后一行。这几乎是Internet上所有人告诉您强制使用https时要做的事情。然而,每次我这么做,我的整个网站都会被禁止,或者你没有查看的权限。像这样的事。。。我做错了什么?我只是想知道在我发布一个问题之前你是否有任何想法。@ThN:是的,请发布一个新问题,因为你的配置/设置可能不同。谢谢!这很有效。但是,我的根域的文档根目录位于子目录中,因此它重定向到-您知道如何修复吗?好的,请尝试:重写规则^.*$https://%{HTTP_HOST}/$1[L,R=301,NE]作为此规则的最后一行。这几乎是Internet上所有人告诉您强制使用https时要做的事情。然而,每次我这么做,我的整个网站都会被禁止,或者你没有查看的权限。像这样的事。。。我做错了什么?我只是想知道在我发布一个问题之前你是否有任何想法。@ThN:是的,请发布一个新的问题,因为你的配置/设置可能不同。