Redirecionar todos os domínios nus do Virtual Host para o site www

4

Meu servidor apache tem uma grande quantidade de VirtualHosts e gostaria de ter uma regra que redirecionasse o domínio sem cobertura de todos eles para o domínio www . Isso é possível?

    
por sguha 17.12.2012 / 23:52

2 respostas

3

Com base na outra resposta, consegui fazer com que funcionasse criando um pega-tudo VirtualHost na parte inferior do arquivo que redirecionava uma solicitação para um host www nomeado

<VirtualHost *:80>
  ServerName default
  ServerAlias *
  <IfModule mod_rewrite.c>
    RewriteEngine on
    # WITH 'www.'
    RewriteCond %{HTTP_HOST} !^www.(.*) [nocase]
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}$1 [redirect=permanent,nocase,last]
  </IfModule>
</VirtualHost>
    
por 18.12.2012 / 02:53
2

Algo como isso deve funcionar:

RewriteCond %{HTTP_HOST} !^www.(.*) [nocase]
RewriteRule ^/(.*)$ http://www.%1/$1 [redirect=permanent,nocase,last]
  1. O RewriteCond corresponde a qualquer HTTP_HOST que NÃO comece com www.
  2. O RewriteRule pré-acrescenta www. à referência anterior a RewriteCond (% 1) e, em seguida, anexa qualquer solicitação real à referência anterior à sequência de correspondência RewriteRule
por 18.12.2012 / 00:37