Use mod_rewrite, algo assim:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.example.org [nocase]
RewriteRule ^(.*)$ http://www.example.org$1 [last,redirect=301]
Eu quero redirecionar 301 todos os exemplos.org para www.example.org. O exemplo a seguir está fazendo exatamente isso, mas tem muito ruído e, portanto, é difícil de manter e propenso a erros:
<VirtualHost 192.0.2.123:80>
ServerName example.org
RedirectPermanent / http://www.example.org
</VirtualHost>
<VirtualHost 192.0.2.123:80>
ServerName www.example.org
DocumentRoot /usr/local/www/example
</VirtualHost>
Por acaso você sabe se há alguma versão mais curta para a coisa toda acima?
Algo parecido com isto pseudo-config :
<VirtualHost 192.0.2.123:80>
ServerName www.example.org
ServerAlias example.org
# Redirect-Every-ServerAlias-To-ServerName
DocumentRoot /usr/local/www/example
</VirtualHost>
Dessa forma, eu precisaria fornecer todos os subdomínios que devem ser redirecionados em ServerAlias
?
Use mod_rewrite, algo assim:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.example.org [nocase]
RewriteRule ^(.*)$ http://www.example.org$1 [last,redirect=301]
<VirtualHost *:80>
ServerName www.example.org
DocumentRoot /usr/local/www/example
</VirtualHost>
<VirtualHost *:80>
ServerName example.org
ServerAlias *.example.org another.org *.another.org
Redirect 301 / http://www.example.org/
</VirtualHost>
certifique-se de colocá-los na ordem correta, www primeiro