apache vhost将所有子域redirect到根(SSL vhosts)

如何将所有子域redirect到根域?

它适用于非SSL域,但不适用于SSL域!

例如

Works! wee.domain.com => https://domain.com www.domain.com => https://domain.com Doesn't work! (no redirecting) https://wee.domain.com => https://domain.com https://www.domain.com => https://domain.com 

虚拟主机

 <VirtualHost *:80> ServerName domain.com # force https RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,QSA] ... </VirtualHost> <VirtualHost *:443> ServerName domain.com SSLEngine on ... </VirtualHost> <VirtualHost *:80> ServerAlias *.domain.com RewriteEngine on # Redirect all subdomains to root RewriteRule ^ https://domain.com [L,R=301] ... </VirtualHost> ########## This vhost is not working ############### <VirtualHost *:443> ServerAlias *.domain.com RewriteEngine on # Redirect all subdomains to root RewriteRule ^ https://domain.com [L,R=301] SSLEngine on ... </VirtualHost> 

Directory子句中添加AllowOverride FileInfo ,如下所示:

 DocumentRoot /var/www/ <Directory /var/www/> AllowOverride FileInfo </Directory>