Weiterleitung zu https:// mit www apache2

Weiterleitung zu https:// mit www apache2

Ich leite alle http://-Anfragen mithilfe einer Apache2-Host-Conf-Datei wie dieser auf https:// um.

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    Redirect / https://www.example.com/
</VirtualHost>

<VirtualHost *:443>
    ServerName www.example.com
    #more details here
</VirtualHost>

Dies funktioniert einwandfrei und leitet alle Anfragen an https:// weiter.

Jetzt möchte ich meine Nicht-WWW-Anfrage auf WWW umleiten (alsohttps://example.comZuhttps://www.example.com). Ich habe versucht, die folgenden Zeilen vor und nach dem obigen 443-Block einzufügen. Aber ohne Erfolg :(

<VirtualHost *:443>
    ServerName example.com
    Redirect / https://www.example.com/
</VirtualHost>

Irgendeine Idee, wie ich dies ohne .htaccess aktivieren kann?

Bitte helfen Sie.

Antwort1

Sie möchten die Umleitung zum bestehenden *:443virtuellen Host hinzufügen. So etwas sollte funktionieren:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

Platzieren Sie das vor allen anderen RewriteRuleAbschnitten.

Antwort2

Was Sie haben, ist bereits richtig.

Und Sie müssen *:443mit definieren NameVirtualHost.

Verwenden Sie diese Konfiguration, in der # more details heresich Ihr gesamtes SSL-Setup befindet, da Sie es bereits haben:

NameVirtualHost *:443

<VirtualHost *:443>
    ServerName www.example.com
    # more details here
</VirtualHost>

<VirtualHost *:443>
    ServerName example.com
    Redirect / https://www.example.com/
    # more details here
</VirtualHost>

Sie benötigen die Details Ihres SSL-Zertifikats injede VirtualHostContainer, auch wenn sie gleich sind.

Bittenichtzusätzliche IPv4-Adressen verwenden – dieser Anwendungsfall erfordert keine Verwendung zusätzlicher IP-Adressen. HTTP/1.1 kann mehrere Domänen unter einer IP-Adresse verarbeiten, auch mit SSL.

verwandte Informationen