2016-04-01 11 views
0

ich einen virtuellen Host für www.domain.com haben, die alle zu httpsApache 2 Umleitung basierend auf Zustand mit Server

<VirtualHost *:80> 
ServerName www.domain.com 
ServerAlias domain.com *.domain.com 

RewriteEngine on 
RewriteCond %{SERVER_NAME} =*.domain.com [OR] 
RewriteCond %{SERVER_NAME} =www.domain.com [OR] 
RewriteCond %{SERVER_NAME} =domain.com 
RewriteRule^https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent] 
</VirtualHost> 

Diese Umleitung wird alle Anfragen von

  • domain.com zu https://domain.com
  • www.domain.com umleiten zu https://www.domain.com
  • *.domain.com zu https://*.domain.com

aber ich will www auf domain.com erzwingen.

Ich habe versucht:

RewriteEngine on 
RewriteCond %{SERVER_NAME} =*.domain.com [OR] 
RewriteCond %{SERVER_NAME} =www.domain.com [OR] 
RewriteRule^https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent] 
RewriteCond %{SERVER_NAME} =domain.com 
RewriteRule^https://www.%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent] 

aber nicht funktioniert ..

kann em jemand helfen, dies zu erreichen, ohne eine andere VirtualHost nur für domain.com

Antwort

0
<VirtualHost *:80> 
ServerName www.domain.com 
ServerAlias domain.com *.domain.com 

RewriteEngine On 

RewriteCond %{HTTP_HOST} =domain.com [OR] 
RewriteCond %{HTTP_HOST} =www.domain.com 
RewriteRule ^/(.*)$ https://www.domain.com/$1 

RewriteCond %{HTTP_HOST} !=domain.com 
RewriteCond %{HTTP_HOST} !=www.domain.com 
RewriteRule ^/(.*)$ https://%{HTTP_HOST}/$1 
</VirtualHost> 

Die erste erstellen zu müssen Rewrite Rule leitet alle Anfragen von http://domain.com und http://www.domain.com an https://www.domain.com um

Die zweite Rewrite-Regel wird alle Anfragen http://*.domain.com-https://*.domain.com

umleiten