Php .htaccess-force HTTPS
我一直在努力寻找一种使用.htaccess在我的网站上强制使用HTTPS的方法。我尝试过的任何方法都会导致重定向循环。我找到了一个PHP替代方案,并对其进行了修改,以适合我的Web服务器,但如果有人能提供帮助,我希望使用与.htaccess等效的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://"
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:是的,请发布一个新的问题,因为你的配置/设置可能不同。