2010-11-11 27 views
14

Me gustaría modificar mi archivo .htaccess para que cuando alguien entre en mi sitio sin escribir www, el sitio siempre los redireccione a la versión www. Por ejemplo, si mi url es www.abc.com y simplemente escriben abc.com, quiero redirigirlos a abc.com.cómo modificar el archivo .htaccess para redirigir siempre a www

Aquí está mi actual htaccess:

<IfModule mod_rewrite.c> 
    RewriteBase/
    RewriteEngine on 
    RewriteRule ^$ app/webroot/ [L] 
    RewriteRule (.*) app/webroot/$1 [L] 
</IfModule> 

Normalmente saben cómo hacer la redirección, pero estoy teniendo problemas, puesto que ya tiene esas pocas líneas en ese país.

Respuesta

18

añadir algo como esto inmediatamente después de RewriteEngine on:

RewriteCond %{HTTP_HOST} ^example\.com$ 
RewriteRule ^(.*) http://www.example.com/$1 [R=301] 
+0

perfecta, gracias – Randy

+0

Te perdiste el $ after^(. *) –

+1

@KnocksX No es necesario ya que '*' es codicioso. –

1

Hay dos métodos disponibles

1) el uso mod_alias módulo de Apache

redirección permanente/algo http://yourwebsite.com/something

2) Añadir la siguiente entrada en .htaccess/http.conf/yourwebsite.conf en la configuración del servidor web directorio

RewriteEngine en RewriteCond% {}^HTTP_HOST yourwebsite.com RewriteRule^(. *) $ http://www.yourwebsite.com $ 1 [R = permanente, L]

28

utilizo el código de abajo. Se puede usar para cualquier nombre de dominio. Solo necesita ingresarlo en su archivo .htaccess.

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

(corregido para tener todo el código en el mismo bloque)

+0

Me gusta esta respuesta más que la aceptada, no es necesario definir el dominio. – joseantgv

1

Si desea redirigir example.com a www.example.com se puede tratar a continuación el código

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