2013-10-07 12 views
7

Dies ist das Skript, das ich gerade habe, wie habe ich mein Skript erzwingen allen Verkehr zu http, derzeit tut es das genaue Gegenteil, es ist der gesamte Verkehr zu https gezwungen.Erzwingen http mit .htaccess

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

Ich habe dies auch versucht und es nicht

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

ich diesen Fehler habe nicht funktioniert:

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

Antwort

25

Sie möchten überprüfen, dass HTTPS ist auf:

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

Und wenn es eingeschaltet ist (%{HTTPS} on), umleiten an http://. Es gibt keine Variable mod_rewrite namens %{HTTP}, nur %{HTTPS}, die "on" oder "off" sein kann.

Der Grund, warum Sie die zu viele bekommen wurden Umleitungen Fehler ist, weil:

RewriteCond %{HTTP} !=on 

immer wahr ist, unabhängig davon, ob die Anforderung http oder https, da die Variable nicht existiert, wird es nie gleich "ein" sein. Aus diesem Grund werden Sie, auch wenn die Anforderung http lautet, immer wieder zur selben URL (http) weitergeleitet.

+0

Danke für die Erklärung !! Das macht Sinn! –

Verwandte Themen