Uso de HTACCESS para redirigir dominios antiguos a la nueva raíz de dominio o directorio -- .htaccess campo con redirect campo con mod-rewrite camp Relacionados El problema

using htaccess to redirect old domains to new domain root or directory


1
vote

problema

Español

Tengo varios dominios viejos que deben ser redirigidos a un nuevo dominio, ya sea a una carpeta específica o a los mismos parámetros de URL en el nuevo dominio de acuerdo con estas reglas:

  1. olddomain1.com/ - & gt; redirigir a newdomain.com/a
  2. olddomain1.com/parameter=x - & gt; redirigir a newdomain.com/parameter=x

  3. olddomain2.com/ - & gt; redirigir a newdomain.com/b

  4. olddomain2.com/parameter=x - & gt; redirigir a newdomain.com/parameter=x

Hasta ahora tengo este código:

  RewriteCond %{HTTP_HOST} ^olddomain1.com$ [OR] RewriteCond %{HTTP_HOST} ^www.olddomain1.com$ RewriteRule ^/?$ "http://www.newdomain.com/$1" [R=301,L] RewriteRule ^$ /a  RewriteCond %{HTTP_HOST} ^olddomain2.com$ [OR] RewriteCond %{HTTP_HOST} ^www.olddomain2.com$ RewriteRule ^/?$ "http://www.newdomain.com/$1" [R=301,L] RewriteRule ^$ /b   

El problema es, si intenta cargar http://www.olddomain2.com/ me envía a http://www.newdomain.com/a

¿Puede ayudar a solucionar este código para funcionar correctamente? gracias

Original en ingles

i have multiple old domains which need to be redirected to a new domain, either to a specific folder or to the same url parameters on the new domain according to these rules:

  1. olddomain1.com/ -> redirect to newdomain.com/a
  2. olddomain1.com/parameter=x -> redirect to newdomain.com/parameter=x

  3. olddomain2.com/ -> redirect to newdomain.com/b

  4. olddomain2.com/parameter=x -> redirect to newdomain.com/parameter=x

so far i have this code:

RewriteCond %{HTTP_HOST} ^olddomain1\.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.olddomain1\.com$ RewriteRule ^/?$ "http\:\/\/www\.newdomain\.com\/$1" [R=301,L] RewriteRule ^$ /a  RewriteCond %{HTTP_HOST} ^olddomain2\.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.olddomain2\.com$ RewriteRule ^/?$ "http\:\/\/www\.newdomain\.com\/$1" [R=301,L] RewriteRule ^$ /b 

problem is, if try to load http://www.olddomain2.com/ it sends me to http://www.newdomain.com/a

can you help fix this code to work properly ? thanks

        

Lista de respuestas

1
 
vote
vote
La mejor respuesta
 

Puedes usar estas reglas:

  ##Redirect "domain1.com" to "/a"## RewriteCond %{HTTP_HOST} ^(www.)?olddomain1.com$  RewriteRule ^$ http://www.newdomain.com/a [R,L] ##Redirect "domain1.com/foo" to "newdoamain/foo"## RewriteCond %{HTTP_HOST} ^(www.)?olddomain1.com$  RewriteRule ^(.+)$ http://www.newdomain.com/$1 [R,L] ##Redirect "domain2.com" to "/a"## RewriteCond %{HTTP_HOST} ^(www.)?olddomain2.com$  RewriteRule ^$ http://www.newdomain.com/b  [R,L] ##Redirect "domain2.com/foo" to "newdoamain/foo"## RewriteCond %{HTTP_HOST} ^(www.)?olddomain2.com$  RewriteRule ^(.+)$ http://www.newdomain.com/$1 [R,L]   
 

You can use these rules :

##Redirect "domain1.com" to "/a"## RewriteCond %{HTTP_HOST} ^(www\.)?olddomain1\.com$  RewriteRule ^$ http://www.newdomain.com/a [R,L] ##Redirect "domain1.com/foo" to "newdoamain/foo"## RewriteCond %{HTTP_HOST} ^(www\.)?olddomain1\.com$  RewriteRule ^(.+)$ http://www.newdomain.com/$1 [R,L] ##Redirect "domain2.com" to "/a"## RewriteCond %{HTTP_HOST} ^(www\.)?olddomain2\.com$  RewriteRule ^$ http://www.newdomain.com/b  [R,L] ##Redirect "domain2.com/foo" to "newdoamain/foo"## RewriteCond %{HTTP_HOST} ^(www\.)?olddomain2\.com$  RewriteRule ^(.+)$ http://www.newdomain.com/$1 [R,L] 
 
 
 
 

Relacionados problema

0  ¿Qué pasa con esta declaración MOD_REWRITE?  ( Whats wrong with this mod rewrite statement ) 
Necesito replicar la funcionalidad de mod_alias que no puedo usar directamente porque estoy en alojamiento compartido, y las declaraciones de alias no funci...

0  Escapando '?' en mod_rewrite  ( Escaping in mod rewrite ) 
El extremo de la cola de mi .htaccess lee: RewriteCond %{query_string} ^(.*)$ RewriteRule ^([a-zA-Z0-9-]+)/?iframe x_iframe.php?pageurl=$1&%1 [L] RewriteC...

1  mod_rewrite a la ruta absoluta en .htaccess - subiendo 404  ( Mod rewrite to absolute path in htaccess turning up 404 ) 
Quiero asignar una serie de directorios en una URL: www.example.com/manual www.example.com/login a directorios fuera de la raíz web. Mi raíz web es ...

2  ¿Cómo establecer el árbitro en una regla de reescritura?  ( How to set the referer on a rewrite rule ) 
Tengo el siguiente problema: uso un script que guarda la URL del referente. Quiero esta URL a una de mis propias URL. Así que digamos que los usuarios acceden...

1  Haga coincidir con todos los nombres de directorio en la ruta del archivo con expresión regular  ( Match all directory names in file path with regular expression ) 
¿Puede alguien darme la expresión regular para que coincida con algo como /this/is/the/path o /this/is/the/path/ y coincide con: $ 1 = este $ 2 = es $ 3...

2  htaccess mod_rewrite  ( Htaccess mod rewrite ) 
Estoy tratando de poner algo con esto, siempre que vaya a una página como: struct4 Quiero la reescritura MOD para cambiarla a: struct5 ¿Cuál p...

4  ¿Puede mod_rewrite hacer matemáticas?  ( Can mod rewrite do math ) 
Estoy planeando convertir mi sitio web a un nuevo CMS, pero me gustaría usar mod_rewrite para redirigir a la perfección enlaces antiguos a sus nuevas ubicacio...

2  Apache redirigir solo al ingresar una contraseña  ( Apache redirect only when entering a password ) 
Configuré a PhpMyid en una de mis máquinas, y estoy tratando de que Apache redirige a HTTPS solo cuando se envía una contraseña. Estoy haciendo esto, ya que m...

4  mod_rewrite 'Agregar información de ruta Postfix:'  ( Mod rewrite add path info postfix ) 
¿Por qué mi mod_rewrite está haciendo esto? add path info postfix: /home/mobelluk/public_html/about.php -> /home/mobelluk/public_html/about.php/ que re...

3  Uso de 'mod_rewrite' ¿Cómo forzar a HTTPS para ciertos rutas y HTTP para todos los demás?  ( Using mod rewrite how do i force https for certain paths and http for all othe ) 
Tengo una aplicación PHP-apache usando mod_rewrite para URL limpias. Estoy teniendo una gran cantidad de doblas para obtener ciertas páginas y caminos oblig...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos