Apache RewriteRule leitet nicht zu www um

Apache RewriteRule leitet nicht zu www um

Ich verwende Apache 2.4 und meine Website ist aufwww.beispiel.com, die automatisch weitergeleitet wird zuhttps://www.example.com, wobei es vollständig zugänglich und funktionsfähig ist.

Wenn ich jedoch explizit versuche,http://example.comoderhttps://example.comwerde ich von einer Platzhalterseite begrüßt.

Ich möchte, dass Nicht-WWW-Benutzer auf WWW umgeleitet werden. Beispiel (https://example.com->https://www.example.com

Ich habe in meiner .conf-Datei eine Umschreibregel eingerichtet, aber aus irgendeinem Grund funktioniert sie nicht. Beim Zugriff auf eine andere Seite als www wird mir nur eine Platzhalterseite angezeigt.

<VirtualHost <ip>:80>
    ServerName www.example.com
    ServerAlias example.com
    # Redirect to www
    RewriteEngine on
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
    Redirect permanent / https://www.example.com/
</VirtualHost>

<VirtualHost <ip>:443>
    ServerName www.example.com
    ServerAlias example.com
    SSLCertificateFile /home/admin/certs/www_example_com.crt
    SSLCertificateKeyFile /home/admin/certs/www_example_com.key
    SSLCACertificateFile /home/admin/certs/DigiCertCA.crt
    SSLEngine on
    SSLProtocol +TLSv1.2 -TLSv1.1 -TLSv1 -SSLv3 -SSLv2
    DirectoryIndex index.php index.html index.htm
    # redirect to www
    RewriteCond %{HTTPS} on
    RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

Antwort1

Sie haben vergessen, RewriteEngine zu aktivieren.

    RewriteEngine on

verwandte Informationen