2009-06-23 18 views
7

.htaccess es un poco nuevo para mí.¿Cómo redirecciono el dominio a un subdominio usando htaccess?

Tengo un sitio actual ubicado en www.domain.com y estoy construyendo un nuevo sitio en new.domain.com.

Cuando finaliza el nuevo sitio, deseo redirigir todo el tráfico al nuevo subdominio.

Además, deseo resolver la canonización de URL al mismo tiempo.

Cualquier ayuda apreciada! Gracias Marcos

+0

¿No sería más fácil usar la herramienta de administración subdominio de su proveedor de Internet? – balpha

Respuesta

-1

¿Qué pasa con esta solución:

RewriteRule (.*) http://new.domain.com/$1 [R=301,L] 
+1

RewriteRule es exagerado cuando todo lo que necesita es una simple redirección antigua –

+0

¿No está perdiendo toda la información de ruta/archivo/parámetro, si solo está utilizando una redirección trivial? – merkuro

+0

no, Redirect hace todo eso –

6

poner esto en el sitio antiguo htaccess

Redirect 301/http://www.newsite.com/ 

este es un buen enlace para aprender acerca de esto:

http://www.webweaver.nu/html-tips/web-redirection.shtml

+1

Gracias por su ayuda. –

+0

si es de su ayuda, configure como la respuesta correcta, su bienvenida –

0

¿Por qué no apuntar el dominio anterior al nuevo sitio, una vez que se termina? Creo que no debería ser un problema apuntar a los dominios en el mismo directorio.

+0

Quizás quiera redirigir a los usuarios procedentes de enlaces existentes al nuevo sitio, pero al mismo tiempo indique a todos los motores de búsqueda que abandonará el antiguo dominio dentro de poco. Básicamente, un período de gracia entre todos puede borrar lentamente las bases de datos. – merkuro

+0

Hola, eso es básicamente, excepto que quiero mantener www.domain.com como la url publicitada para el sitio. –

8

Existen varias soluciones diferentes. El mejor, tanto desde la perspectiva de SEO como del usuario, es la redirección uno a uno 301. Conserva el jugo de tu enlace y, al mismo tiempo, redirige al cliente a la ubicación exacta en el nuevo sitio web.

Si tiene mod_alias habilitadas, sugeriría un simple instrucción

RedirectMatch 301 ^(.*)$/http://new.domain.com/$1 

El resultado se puede lograr con

RewriteEngine On 
RewriteRule (.*) http://new.domain.com/$1 [R=301,L] 

La segunda es la mejor opción si necesita cadena de múltiples condiciones y filtros Por ejemplo, si necesita redireccionar solo ciertos hosts o clientes dependiendo del encabezado del agente de usuario.

Recuerde: mod_redirect tiene prioridad sobre mod_alias.

+0

gracias, ¡la declaración de redirección se parece a la una! También quiero resolver cualquier problema de canonización; ¿Eso pasaría antes o después de la declaración ReDirectMatch? Gracias, Mark –

+0

¿Podría ser más específico? ¿Qué quiere decir con "resolver cualquier problema de canonización"? –

+0

Por el momento no tengo nada en htaccess para ayudar a resolver las solicitudes entrantes de www y no www a solo una opción; Creo que Google prefiere esto? Me preguntaba qué instrucción usaría y si vendría antes o después de la instrucción ReDirectMach. –

1
RewriteEngine On 
RewriteRule (.*) http://new.domain.com/$1 [R=301,L] 

esto acaba de hacer el truco en mi caso. ¡Perfecto! Ahora todos los enlaces que muestra Google redireccionan desde el dominio superior al mismo enlace en el subdominio.

1

Le sugiero que use este código para que no tenga que preocuparse por la parte "www" de la dirección URL.

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www.)?mysite\.com$ [NC] 
RewriteRule ^(.*)$ http://subdomain.mysite.com/ [L,R=302] 
Cuestiones relacionadas