2009-03-15 14 views
5

Básicamente tengo una carpeta en mi servidor web que asigno a nuevos dominios cada vez que los compro, que solo tienen un index.html y una carpeta de imágenes. Básicamente solo tiene mi logotipo y dice que el dominio está en construcción y que llegará pronto.¿Cómo puedo usar htaccess para forzar www. en varios dominios

Normalmente cuando quiero forzar el www. prefijo Yo uso el siguiente código:

rewritecond %{HTTP_HOST} ^domain.com [nc] 
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc] 

Esto funciona bien, pero debo escribir explícitamente el nombre del dominio. Manejo muchos dominios, así que necesito un código que lo haga sin conocer el nombre de dominio. Lo intenté, pero sinceramente no encontré a nadie cerca.

Respuesta

9

Prueba esto:

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
2

Esto redirigir "ftp.domain.com" a "www.ftp.domain.com". Probablemente no es lo que quieres.

Esto puede requerir un poco de modificación, pero decidí escribir mi propia así que aquí ya go:

RewriteCond %{HTTP_HOST} !^%{SERVER_ADDR}$ [NC] 
RewriteCond %{HTTP_HOST} !\.dev$ [NC] 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTP_HOST} ([^\.]+(\.[^\.0-9]{2,4}){1,2})$ [NC] 
RewriteRule ^(.*)$ http://www.%1/$1 [R=permanent,L] 

debería apoyar dominios de nivel superior de uno y de dos palabras, el acceso por dirección IP y el dominio. desarrollador para desarrollar localmente. Funciona para dominios con 4+ caracteres.

Cuestiones relacionadas