Automatische Webseiten Umleitung von http auf https (SSL)

Expand / Collapse
 

Automatische Webseiten Umleitung von http auf https (SSL)


Frage:
Ich möchte, dass meine Besucher stets die https (SSL gesicherte) Variante meiner Homepage aufgerufen bekommen. Wie kann ich eine automatische Umleitung von http nach https einstellen?

Antwort:
Es gibt prinzipiell 2 Möglichkeiten: Zum einem, in dem man in jeder Datei die Weiterleitung einbaut und zum anderen per .htaccess. Generell muss man von Fall zu Fall abwägen, welche Variante sinnvoller ist. .htaccess ist etwas unflexibel bzw. Ausnahmen zu definieren erfordert die Angabe von regulären Ausdrücken, wo man sehr schnell sehr einsam dasteht. ;-)

Variante 1 am Beispiel PHP:

<?php
// REQUEST_URI bei Windows mit ISAPI_Rewrite setzen:
if (isset($_SERVER['HTTP_X_REWRITE_URL'])) {$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];}

// Wenn kein HTTPS
if (strtoupper($_SERVER['HTTPS']) != "ON")
{
    $bSSL = FALSE;
    if (!headers_sent())
    {
        // Redirect 301 auf https Adresse
        header("Status: 301 Moved Permanently");
        header(sprintf(
            'Location: https://%s%s',
            $_SERVER['HTTP_HOST'],
            $_SERVER['REQUEST_URI']
        ));
        exit();
    }
} else
{
    $bSSL = TRUE;
    // nichts zu tun
}

// weiterer Code ...
?>

Variante 2 mit .htaccess:

Legt zuerst eine Datei .htaccess im Hauptverzeichnis Eures Webspaces an. Wenn diese bereits existiert, dann fügt die folgenden Zeilen einfach (am besten am Anfang) hinzu.

RewriteEngine on

# Slash bei Ordnern ggf. korrigieren:
RewriteRule ^([^.?]+[^.?/])$ $1/ [R,L]

# Redirect Nicht-HTTPS zu HTTPS
RewriteCond %{HTTP:Host} (.*)
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} (.*)
RewriteRule .? https://%1%2 [R,L]


     
Tags:
seo, SSL

Related Links





Details
Zuletzt geändert:Mittwoch, 3. September 2014
Zuletzt geändert von: i.fritz
Typ: HOWTO
Stufe: Intermediate
Beitrag noch nicht bewertet.
Beitrag wurde 10.498* angeschaut.
Optionen