2017-01-26 5 views
1

Ich versuche zu zwingen, meine Website von https auf http umleiten, die meisten Tutorials da draußen tun das Gegenteil (zwingen Sie http zu https), die paar, die ich gestoßen bin, haben nicht funktioniert für mich bisher.Erzwingen HTTP in .htaccess

Dies ist, was meine .htaccess-Datei wie jetzt aussieht

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

    # BEGIN WordPress 
    <IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/
    RewriteRule ^index\.php$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /index.php [L] 
    </IfModule> 

    # END WordPress 
+0

Jede der folgenden Antworten funktioniert. Ersetzen Sie einfach einen von ihnen durch Ihren eigenen und aktualisieren Sie Ihren Cache. – Lag

Antwort

1

Verwendung dieser HTTPs zu zwingen:

RewriteEngine On 

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

Stellen Sie sicher, löschen Sie den Cache, bevor diese zu testen.

+0

Ich habe eine Antwort von "example.com Sie zu oft umgeleitet" – TobiSkillZ

1

verwenden, um http zu erzwingen:

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

Ich habe eine Antwort von "example.com Sie zu oft umgeleitet" – TobiSkillZ

+0

Verwenden Sie HSTS oder Proxy-Server (Cloud)? – Croises

+0

Haben Sie Ihre ersten drei Zeilen durch diese Zeilen ersetzt und den Cache gelöscht? – Croises

1

Sie tun genau das Gegenteil, nämlich dann, wenn es von HTTP

RewriteCond %{SERVER_PORT} 80 

Umleitung zu HTTPS

RewriteRule ^(.*)$ https://www.example.com/$1 [R,L] 

entfernen diese beiden kommt Linien und ersetzen Sie mit dem folgenden.


Zuerst sollten Sie nicht für den Port überprüfen, aber für %{HTTPS}, die zuverlässiger ist, z.B.

RewriteCond %{HTTPS} on 

umleiten neben HTTP (man beachte die fehlende s)

RewriteRule ^(.*)$ http://www.example.com/$1 [R,L] 

Wenn alles funktioniert, wie es sollte, Sie R mit R=301 ersetzen. Nie Test mit R=301.

+0

Viel bessere Antwort. – Lag

+0

Ich bekam eine Antwort von "example.com hat Sie zu oft umgeleitet" – TobiSkillZ

+0

Das könnte passieren, wenn Sie die ursprünglichen Regeln zusätzlich zu den neuen beibehalten. Dann wird es von HTTPS zu HTTP umleiten, der Browser wird HTTP anfordern und wird wieder von HTTP zu HTTPS umgeleitet, und so weiter. –

Verwandte Themen