http到https重定向无法通过.htaccess工作

时间:2016-09-17 03:11:08

标签: .htaccess mod-rewrite

我从其他线程中获取了以下.htaccess代码段,但在正在测试的网站上,我收到了TOO_MANY_REDIRECTS错误。

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.domain.co.uk/$1 [L,R=301]

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://www.domain.co.uk/$1 [L,R=301] 

如果它有助于该网站托管在123-reg.co.uk。

我尝试了多种变体,将非www重定向到www,然后将http重定向到https,但每次都出现相同的错误。

1 个答案:

答案 0 :(得分:0)

这个工作正常,忽略后者。     

    
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
    
    

[忽略此]如何使用.htaccess强制SSL(基于端口80的简单表示http) - 将所有请求自动重定向到443

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

参考值; https://www.siteground.com/kb/how-to-force-ssl-with-htaccess/