2017-08-14 79 views
0

我的域名是www.supergenscript.com。它在www.easycloud.us上托管,所有的DNS都使用CloudFlare进行配置。我在我的.htaccess文件中有以下代码。.htaccess http to https重定向太多

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

除了这个在我的.htaccess文件中没有任何内容。这是我的.htaccess现在的完整代码。我使用此代码的目的是自动从http重定向到https。它从http更改为https,但索引页未加载。相反,浏览器会继续加载,最终花费大量时间后会出现错误。

这里是我的谷歌Chrome浏览器接收到错误

This page isn’t working 

www.supergenscript.com redirected you too many times. 
Try clearing your cookies. 
ERR_TOO_MANY_REDIRECTS 

请帮我找到一个解决这个问题。我真的很沮丧。

回答

2

检查这一项

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

或者这一个

RewriteEngine on 
RewriteCond %{HTTPS} off [OR] 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule^https://www.supergenscript.com%{REQUEST_URI} [NC,L] 
+0

已经尝试过..相同结果..其实这是我第一次尝试的代码..但更改为当前的一个,当我发现它在堆栈这里.. –

+0

@ShubhamJha更新我的答案,请检查它会帮助你:) –

+1

其实easycloud使用CloudFlare管理DNS,他们提供了一个选项,“我总是使用HTTPS”不知道。只是了解它。我的错。我只需要启用该选项并立即开始工作。但无论如何感谢您的帮助。而且,由于您的回答将帮助那些只使用自定义网站而不使用cloudflare等服务的用户,因此我会接受并赞扬它。谢谢 :) –

0

试试这个:

以上
RewriteCond %{HTTP:X-Forwarded-Proto} !http 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

解决方案并没有为我工作