2011-05-11 13 views
7

he visto el truco en Apache de rewrite guide sobre cómo redirigir las peticiones sin www a las solicitudes WWW:Redirigir múltiples dominios/URL a uno, dominio canónico

RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] 
RewriteCond %{HTTP_HOST} !^$ 
RewriteRule ^/(.*)   http://www.example.com/$1 [L,R] 

que redirige todas las solicitudes para example.com a www.example.com.

Pero, ¿cómo puedo agregar que quiero solicitudes de example1.com, www.example1.com, example2.com, www.example2.com, etc. para redirigir a www.example.com?

EDIT:

Aquí está la solución:

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] 
RewriteCond %{HTTP_HOST} !^$ 
RewriteRule ^/?(.*) http://www.example.com/$1 [L,R,NE] 

RewriteRule ligeramente diferente y añade 'RewriteEngine en'

+2

La bandera de reescritura 'R' se predetermina por defecto a un código de respuesta 302. Si desea un 301 en su lugar (que creo que debe hacer en la mayoría de las situaciones), puede hacer esto en su lugar: 'RewriteRule^/? (. *) Http://www.example.com/$1 [L, R = 301, NE] ' –

+0

extraño, esto no funciona para mí o falla' service apache2 restart' –

Respuesta

4

Pero ¿Cómo se añaden en la que quiero solicitudes de example1 .com, www.example1.com, example2.com, www.example2.com, etc., para redirigir a www.example.com?

Ya lo ha hecho. Su regla de reescritura establece que "si HTTP_HOST no es www.example.com (y no está en blanco), redirija a www.example.com".

Siempre que su servidor esté configurado para apuntar a los otros dominios en el mismo directorio que está alojando a www.example.com, ya está todo listo.

+0

Eso es lo que pensé, pero resulta que tuve que agregar 'RewriteEngine On' primero. – bafromca

Cuestiones relacionadas