wake-up-neo.net

Leiten Sie https://example.com nackt zu https://www.example.com um

Ich leite alle http:// Anfragen an https:// um, indem ich die virtuelle Apache2-Hostdatei verwende:

<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:// um, aber jetzt möchte ich meine Anfrage an non-www an www umleiten. Ich habe versucht, diese Zeilen vor und nach dem obigen <VirtualHost *:443> ohne Erfolg hinzuzufügen.

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

Wie kann ich die Umleitung von Nicht-WWW zu WWW vornehmen, während SSL in der virtuellen Host-Datei erzwungen wird?

3
Riyas Kp

Versuchen Sie so etwas:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot "/path/to/port/80/site"
</VirtualHost>

<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot "/path/to/port/443/site"
</VirtualHost>

Erstellen Sie eine .htaccess-Datei in/path/to/port/8/site mit:

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

Erstellen Sie eine .htaccess-Datei in/path/to/port/44/site mit:

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