Ich habe nach dem perfekten 301 Redirect gesucht. Aber ich finde so viele Lösungen und weiß nicht, was am besten ist.Best Practice: 301 HTTP zu HTTPS (Standard Domain) umleiten
Hier ist, was ich
- http://domain.tld/ → https://domain.tld/
- http://www.domain.tld/ → https://domain.tld/
- https://www.domain.tld/ → https://domain.tld/
Best practice .htacess tun wollen?
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule^https://%1%{REQUEST_URI} [R=301,L]
</IfModule>
Dies ist mein bevorzugter Code. Zumindest jetzt unil.
Alternative Wege
Ich fand auch eine Menge anderer Möglichkeiten, HTTP
-HTTPS
zu umleiten. Zum Beispiel:
1.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
fehlt ein Schritt? Und nein [R=301,L]
hier?
2.
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Is a different order generally better?
Sollte ich
RewriteRule ^(.*)$
statt
RewriteRule (.*)
?
3.
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} example\.com$ [NC]
RewriteRule^https://example.com%{REQUEST_URI} [R=301,L,NE]
Gibt den vollständigen Domänennamen alle Leistungsvorteile haben mit? Brauche ich wirklich NE
? ([R=301,L,NE]
vs. [L,R=301]
)
Also, meine Frage an alle Experten: Was ist die beste (performing) Art und Weise sowohl HTTP
-HTTPS
zu umleiten und -
HTTPS://
?
Vielen Dank. Ich verwende diesen Code jetzt: RewriteEngine Ein RewriteCond% {HTTPS} aus RewriteRule^(. *) $ Https://example.com/%{REQUEST_URI} [R = 301, L , NE] RewriteCond% {HTTP_HOST}^www \ (+.) $ [NC] RewriteRule^https:. //% 1% {REQUEST_URI} [R = 301, L, NE] –
dash
ich weiß, dass es eine etwas alte Antwort, aber nicht 'RewriteRule^https: //domain.tld/% {REQUEST_URI} [R = 301, L, NE]' von Alternative 3 zurück, z https: //domain.tld//index.html mit doppelten Schrägstrichen? Sollte die Zeile nicht nur 'RewriteRule^https: //domain.tld/% {REQUEST_URI} [R = 301, L, NE]' ohne den Schrägstrich zwischen dem statischen Domain-Text und '% {REQUEST_URI}' lesen? –
Sie haben Recht: Ich habe dies korrigiert – nlu