2013-10-07 2 views
7

이것은 현재 스크립트입니다. https에 대한 모든 트래픽을 강제로 내 모든 스크립트에 강제로 전달하는 방법은 현재 정확히 반대입니다. https에 대한 모든 트래픽이 강제로 전송됩니다..htaccess를 사용하여 http를 강제 실행합니다.

RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

나는이를 시도하고 내가이 오류가있어

RewriteEngine On 
RewriteCond %{HTTP} !=on 
RewriteRule^http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

작동하지 않았다

Too many redirects occurred trying to open www.blankpage.com .

답변

25

당신은 그 HTTPS가에 입니다 확인하려면 :

RewriteEngine On 
RewriteCond %{HTTPS} on 
RewriteRule^http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

켜져 있으면 (%{HTTPS} on) http://으로 리디렉션하십시오. %{HTTP}이라는 mod_rewrite 변수는없고, "켜기"또는 "꺼짐"일 수있는 %{HTTPS} 만 있습니다.

당신이 너무 많이지고 있었다 이유가 있기 때문에 오류가 리디렉션, 요청이 HTTP 또는 HTTPS 경우

RewriteCond %{HTTP} !=on 

항상 상관없이 사실 변수가 존재하지 않기 때문에, 그것은 것 결코은 "on"과 같아야합니다. 따라서 요청이 http 인 경우에도 동일한 URL (http)로 리디렉션됩니다.

+0

설명해 주셔서 감사합니다. 그건 의미가 있습니다! –

관련 문제