90 votos

.htaccess redirect todas las páginas al nuevo dominio

Que redirigir la regla debo utilizar para redirigir todas las páginas bajo olddomain.com para ser redirigido a newdomain.com?

El sitio tiene una estructura totalmente, así que quiero que cada página bajo el dominio de edad para ser redirigido a la nueva dominio de la página de índice.

Pensé que haría esto (bajo olddomain.com directorio de base):

RewriteEngine On
RewriteRule ^(.*)$ http://newdomain.com/ [R=301]

Pero si me vaya a olddomain.com/somepage me redirecciona a newdomain.com/somepage. Estoy esperando una redirección sólo a newdomain.com sin que la página de sufijo.

¿Cómo puedo guardar la última parte?

56voto

YOU Puntos 44812

Puede ser así, no probado

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^OLDDOMAIN\.com$ [NC]
RewriteRule ^(.*)$ http://NEWDOMAIN.com [R=301,L]

43voto

Yuval Adam Puntos 59423

Solo para aclarar, después de quitar el hosting redirigir que estaba en el camino, mi solución original también funciona:

RewriteEngine On
RewriteRule ^(.*)$ http://newdomain.com/ [R=301]

2voto

Boldewyn Puntos 29961

De la usabilidad punto de vista sería mejor, si además de enviar el camino con la solicitud (es decir, lo que tienes en el momento) y deje que su nuevo sitio de lidiar con ello:

Usted ha buscado "productos".

Desafortunadamente esta página se ha ido. Te gustaría visitar "/new_products" en su lugar?

(y mejor aún, hacerlo de forma automática.)

Esta es, obviamente, un montón de codificación y la heurística de un sitio web más grande, pero en mi opinión sería pagar en términos de satisfacción de los usuarios (cuando sus cuidadosamente guardado de marcadores de tu sueño producto solo lleva a la página de inicio newdomain.com, esto es frustrante.)

1voto

Question Mark Puntos 2325

Este es un error en las versiones anteriores de apache (y por lo tanto mod_rewrite) donde el prefijo de la ruta fue anexado a la nueva ruta de acceso si se cambió. Ver aquí

Creo que fue corregido en apache2 V2.2.12, hay una bandera especial que usted necesita para el uso que voy a añadir aquí cuando me parece, (creo que fue NP Sin Ruta)

RewriteRule ^(.*)$ http://newdomain.com/ [??]

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X