duanpai6581 2016-06-08 18:07
浏览 78
已采纳

.htaccess强制HTTPS

I've been struggling for a while to find a method of using .htaccess to force HTTPS on my website. Any way I've tried has resulted in a redirect loop. I found a PHP alternative and amended it to suit my webserver, but I'd like the .htaccess equivalent if anybody could help.

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;
}
  • 写回答

1条回答 默认 最新

  • dpict99695329 2016-06-08 18:11
    关注

    You can use this rule in your root .htaccess:

    RewriteEngine On
    
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301,NE]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?