Sichere Verbindung
Detlev
- https
- https
Hallo, trotz Ostern eine Frage. Ich habe meine Homepage umgestellen lassen auf eine sichere Verbindung. Jetzt ist sie erreichbar über http://www.... und über https;//www.... Wie erreiche ich, dass sie nur noch über die sichere Variante aufgerufen werden kann?
Hallo Detlev,
Setze
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{ENV:HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
ganz an den Anfang deiner .htaccess
-Datei.
Damit wird jeder Aufruf über die unsichere Verbindung auf die sichere umgeleitet.
Bis demnächst
Matthias
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteCond %{ENV:HTTPS} !=on RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Apache selber empfiehlt redirect statt mod_rewrite:
<If "%{SERVER_PROTOCOL} != 'HTTPS'">
Redirect "/" "https://%{HTTP_HOST}/"
</If>
Und was empfiehlt Herr Google?
Hallo Detlev,
Es sollte beides funktionieren.
Bis demnächst
Matthias
Hallo Erwin,
Apache selber empfiehlt redirect statt mod_rewrite:
<If "%{SERVER_PROTOCOL} != 'HTTPS'"> Redirect "/" "https://%{HTTP_HOST}/" </If>
Damit wird man aber immer auf die Startseite weitergeleitet - sinnvoller ist es aber imho wenn die aktuelle Unterseite erhalten bleibt.
Gruß,
Tobias
@@tk
Apache selber empfiehlt redirect statt mod_rewrite:
<If "%{SERVER_PROTOCOL} != 'HTTPS'"> Redirect "/" "https://%{HTTP_HOST}/" </If>
Damit wird man aber immer auf die Startseite weitergeleitet
Nö, man kommt zur entsprechenden Seite.
Bei mir wird allerdings %{HTTP_HOST}
nicht aufgelöst; ich musste das durch den wirklichen Hostnamen (Domainnamen) ersetzen.
LLAP 🖖
Bei mir wird %{HTTP_HOST} ebenfalls nicht aufgelöst. Den echten Namen würde ich ungern hineinschreiben. Da die Variante ja vielfach empfohlen wir, wird sie ja auch meist funktionieren. Vielleicht kennt jemand die Ursache, dass es manchmal nicht funktioniert?
Redirect "/" "https://%{HTTP_HOST}/"
Damit wird man aber immer auf die Startseite weitergeleitet
Redirect und seine Geschwister leiten seit jeher alle Seiten, die mit dem gegebenen Pfad beginnen, auf den entsprechenden Pfad unter dem gegebenen neuen Pfad um. Anders ausgedrückt: Bei "Redirect A B" wird im angefragten Pfad der A- durch den B-Teil ersetzt, aus "A/bla/fasel" wird "B/bla/fasel".
Redirect ist ein elegantes Schnitzmesser, RewriteRule eine schwere Streitaxt. Die haben beide ihre Berechtigung, aber es herrscht leider die Vorliebe, jede Kartoffel mit einer Streitaxt zu schälen.
Hallo Dein Apache,
Redirect ist ein elegantes Schnitzmesser, RewriteRule eine schwere Streitaxt. Die haben beide ihre Berechtigung, aber es herrscht leider die Vorliebe, jede Kartoffel mit einer Streitaxt zu schälen.
In dem Fall kommt durch Rewrite die zusätzliche Info, dass die Ressource dauerhaft unter https zu finden ist. Suchmaschinen werden sich das merken.
Bis demnächst
Matthias
Redirect ist ein elegantes Schnitzmesser, RewriteRule eine schwere Streitaxt. Die haben beide ihre Berechtigung, aber es herrscht leider die Vorliebe, jede Kartoffel mit einer Streitaxt zu schälen.
In dem Fall kommt durch Rewrite die zusätzliche Info, dass die Ressource dauerhaft unter https zu finden ist. Suchmaschinen werden sich das merken.
Dafür braucht man erst recht kein mod_rewrite. Redirect permanent bzw. RedirectPermanent existieren.
Hallo Dein Apache,
Dafür braucht man erst recht kein mod_rewrite. Redirect permanent bzw. RedirectPermanent existieren.
Stimmt.
Bis demnächst
Matthias