2016-12-07 3 views
1

Ich muss alle Seiten meiner Website von https zu http mit Ausnahme der sign-in Seite umleiten. Ich möchte, wenn jemand versucht, sign-in Seite über http zu durchsuchen, sollte es an https umgeleitet werden. Meine Website ist unter Drupal 7 entwickelt. Allerdings habe ich eine Bedingung in .htaccess geschrieben, aber kein Glück. Was ich tat, wie:Umleiten von https zu http mit Ausnahme der Anmeldeseite

RewriteEngine On 
RewriteCond %{HTTPS} on 
RewriteCond %{REQUEST_URI} !^/sign-in 
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

Durch den obigen Code die ganze Seite https zu http umleiten, aber nicht Ausnahme immer für sign-in.

Antwort

1

Bewahren Sie diese 2 Umadressierungsregel zuoberst in der .htaccess:

RewriteEngine On 

# redirect anything except /sign-in to http 
RewriteCond %{HTTPS} on 
RewriteCond %{THE_REQUEST} !/sign-in [NC] 
RewriteRule^http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] 

# redirect /sign-in to https 
RewriteCond %{HTTPS} off 
RewriteCond %{THE_REQUEST} /sign-in [NC] 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] 
+0

es funktioniert nicht. Ich verstehe nicht, warum die zweite Bedingung nicht funktioniert ... – StreetCoder

+1

Danke, dass es mir hilft – StreetCoder

+0

Wenn ich dies tue, werden meine Schriften aus irgendeinem Grund über HTTPS geladen (auf HTTP-Anmeldung) und ich bekomme CORS-Fehler. Irgendwelche Ideen? –

0

Versuchen Sie, so etwas wie dieses

RewriteCond %{HTTPS} off 
    RewriteCond %{REQUEST_URI} !^/sign-in\.php$ [NC] 
    RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L,QSA] 

    RewriteCond %{HTTPS} on 
    RewriteRule ^(sign-in\.php)$ http://%{HTTP_HOST}/$1 [R=301,L,QSA] 
+0

kein Glück mein Freund ... es Umleitungen an alle die Seite 'http: // domain.name/index.php'. Wissen Sie, wo ich falsch mache – StreetCoder

+0

Ich habe Update meine Antwort. Bitte versuchen Sie dies, wenn möglich .. –

+0

jetzt leitet alles auf 'https'. – StreetCoder

Verwandte Themen