.htaccess - varios - Redirigir mĂșltiples dominios a un dominio(con o sin www antes)
redireccionar url (4)
Tengo alrededor de 18 dominios que necesitan ser redirigidos a uno nuevo. Tiene que trabajar tanto con o sin www como prefijo.
He intentado esto:
<IfModule mod_rewrite.c>
RewriteEngine on
Rewritecond %{HTTP_HOST} !^www/.domain/.com
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
</IfModule>
Eso me da un bucle de redireccionamiento (y solo funciona con www antes, ¿creo?).
En lugar de redirigir a.com
, c.com
, c.com
a newdomain.com
, puede hacer esto:
Redirige todo lo que no sea newdomain.com
a http://www.newdomain.com
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !newdomain.com$ [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301]
El crédito para esto va a: http://www.raramuridesign.com/blog/83-dev-htaccess-redirect-a-domain-or-multiple-domains.html donde se explica con mayor detalle.
Lo probé para un proyecto de cliente y funciona como un encanto.
Mi experiencia después de unos días revolviendo las instrucciones de SO y otros anfitriones fue decepcionante. Sin embargo, elegí las mejores partes trabajadas de todas ellas y obtuve lo siguiente:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www/.domain1/.com$ [OR]
RewriteCond %{HTTP_HOST} ^domain1/.com$ [OR]
RewriteCond %{HTTP_HOST} ^www/.domain2/.com$ [OR]
RewriteCond %{HTTP_HOST} ^domain2/.com$ [OR]
RewriteCond %{HTTP_HOST} ^www/.domain3/.com$ [OR]
RewriteCond %{HTTP_HOST} ^domain3/.com$
RewriteRule ^/?$ "http/:////www/.domain/.com//" [R=301,L]
- El formato anterior también es de acuerdo con el estilo de redirección de cPanel realizado en la GUI.
- Redirección de www. Versión y no www. La versión de los dominios es uno de los problemas que otras soluciones (¡al menos los probé!) no pudieron resolver.
- Preste atención a
^/?$
EnRewriteRule
Si desea redireccionar la versión www del dominio principal a una versión que no sea www , las dos últimas líneas deben ser así:
RewriteCond %{HTTP_HOST} ^www/.domain/.com$
RewriteRule ^/?$ "http/:////domain/.com//" [R=301,L]
Buena redirección!
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=permanent,L]
^domain.com
resuelve el problema de la WWW, por lo que todos los subdominios ahora se redireccionarán.
Asegúrese de que http://www.newdomain.com
no esté incluido en el RewriteCond
.
Eso causaría un bucle de redireccionamiento.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain1.com [OR]
RewriteCond %{HTTP_HOST} ^domain2.com [OR]
RewriteCond %{HTTP_HOST} ^domain3.com [OR]
RewriteCond %{HTTP_HOST} ^domain4.com [OR]
RewriteCond %{HTTP_HOST} ^domain5.com
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=permanent,L]
Esto redirigirá todos sus 18 dominios a su nuevo dominio único www.newdomain.com De lo contrario, puede usar el siguiente código para redirigir cada dominio si están en un alojamiento separado
RewriteCond %{HTTP_HOST} ^domain.com
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=permanent,L]