Foros del Web » Administración de Sistemas » Apache »

htacces - Excepciones de redirección

Estas en el tema de htacces - Excepciones de redirección en el foro de Apache en Foros del Web. Hola a todos. Ante todo, Feliz año nuevo a [email protected]!!!!!! Me surge una duda/problema. Por necesidad de migración de unos dominios, tengo que redireccionar el ...
  #1 (permalink)  
Antiguo 08/01/2010, 11:21
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 17 años, 4 meses
Puntos: 10
htacces - Excepciones de redirección

Hola a todos.

Ante todo, Feliz año nuevo a [email protected]!!!!!!

Me surge una duda/problema.

Por necesidad de migración de unos dominios, tengo que redireccionar el contenido de un dominio a otro.

Estas redirecciones las estoy haciendo mediante .htacces. El tema es que tengo que redireccionar todo EXCEPTO ciertas URL que de momento no se van a trasladar.

¿Se pueden montar excepciones en el fichero htacces? ¿hay alguna manera de ahcer esto que comento?

Si no ha quedado claro, por favor, decírmelo y me explico mejor.

Un saludo y gracias de antemano.

Un saludo.

Javier
  #2 (permalink)  
Antiguo 08/01/2010, 11:29
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 17 años, 3 meses
Puntos: 839
Respuesta: htacces - Excepciones de redirección

¿Las redirecciones las realizas usando Redirect o mod_rewrite?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 08/01/2010, 11:33
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 17 años, 4 meses
Puntos: 10
Respuesta: htacces - Excepciones de redirección

Hola David.

Las redirecciones, dentro de mis pocos conocimientos de manejo del fichero .htaccess las realizaba inicialmente usando redirect 301 origen destino pero en vista de que son tantas las URLs, necesitamos invertir el trabajo, osea:

- Hacer una redirección de TODO
- Incluir las excepciones correspondientes para las páginas que NO queremos redirigir.

Quedo a la espera de tus comentarios y/u opciones para hacer esto.

Gracias de nuevo.

Javier
  #4 (permalink)  
Antiguo 08/01/2010, 11:41
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 17 años, 3 meses
Puntos: 839
Respuesta: htacces - Excepciones de redirección

En ese caso te conviene usar mod_rewrite.

Con una sola regla puedes redireccionar todo lo que necesites:
Código Apache:
Ver original
  1. RewriteRule ^(.*)$ http://destino/$1 [R=301]
Luego, con RewriteCond especificas las excepciones.

Puedes consultar el manual para información más detallada:
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 08/01/2010, 11:53
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 17 años, 4 meses
Puntos: 10
Respuesta: htacces - Excepciones de redirección

Hola David.

Gracias por la información.

Por un lado, ya me funciona la redirección COMPLETA de mi sitio Web al FUTURO (incluyendo páginas con parámetros y demás).


Revisando la dirección de documentación que me mandas para RewriteCond la verdad que no me queda del todo claro como crear una redirección, por ejemplo, para que el INDEX de ORIGEN no sea redireccionado ....

¿Podrías ayudarme?

Espero tus comentarios.

Gracias

Javier
  #6 (permalink)  
Antiguo 08/01/2010, 11:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 17 años, 3 meses
Puntos: 839
Respuesta: htacces - Excepciones de redirección

Por ejemplo:
Código:
RewriteCond %{REQUEST_URI} !=/index.html
RewriteRule ^(.*)$ http://destino/$1 [R=301]
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 08/01/2010, 12:04
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 17 años, 4 meses
Puntos: 10
Respuesta: htacces - Excepciones de redirección

Hola David.

Comprendo ahora mejor con este ejemplo un poco la mecánica de las reglas pero tengo algo que comentar...

Si entro en www.midominio.com, se redirige a www.minuevodominio.com

Esto es a lo que me refería como ejemplo de antes, el NO redirigir el Index (pero con tu ejemplo, estoy evitando la redirección del fichero index BAJO PETICIÓN directa) (no se si me explico).

La necesidad es que la petición inicial del dominio ORIGEN no sea redireccionado al dominio DESTINO (no por el momento).

Con tu ejemplo, si pido al navegador el index.html manualmente (www.midominio.com/index.html, no me redirige (cosa correcta) pero si al navegador le pido www.midominio.com si me redirige (cosa en mi caso incorrecta, a petición de los superiores).

Espero tu ayuda al respecto.

Gracias!!!

Javier
  #8 (permalink)  
Antiguo 08/01/2010, 12:20
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 17 años, 3 meses
Puntos: 839
Respuesta: htacces - Excepciones de redirección

Sólo tienes que agregar otra excepción:
Código:
RewriteCond %{REQUEST_URI} !=/
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 08/01/2010, 12:23
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 17 años, 4 meses
Puntos: 10
Respuesta: htacces - Excepciones de redirección

Hola David.

Muchísimas gracias por tus contestaciones y ayudas.

Funciona a la perfección 8mira que no habérseme ocurrido dejarlo solo indicando la raíz )

Gracias pro tus ejemplos, que me han ayudado a entender mejor la regla, y ahora a ver si soy capaz de crear el resto de reglas necesarias para las páginas que no hay que redireccionar.

Gracias de nuevo y un saludo.

Javier
  #10 (permalink)  
Antiguo 12/01/2010, 15:35
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 17 años, 4 meses
Puntos: 10
Respuesta: htacces - Excepciones de redirección

Hola de nuevo.

Pues ahora tengo una consulta referido al tema de las redirecciones.

Tengo esta página:
http://www.midominio.com/pagina.php?21

Y necesito redirigirla a
http://www.midominio.com/pagina_que_sea_ii.php

El problema es que SOLO he de redireccionarlo si el parámetro es 21

¿Cómo se haría una redirección de este tipo?

Espero vuestros comentarios.

Un saludo y gracias!!!

Javier
  #11 (permalink)  
Antiguo 12/01/2010, 20:08
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 17 años, 3 meses
Puntos: 839
Respuesta: htacces - Excepciones de redirección

Usando RewriteCond para filtrar por QUERY_STRING:
Código:
RewriteCond %{QUERY_STRING} =21
RewriteRule ^pagina\.php$ pagina_que_sea_li.php [R]
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 13/01/2010, 06:10
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 17 años, 4 meses
Puntos: 10
Respuesta: htacces - Excepciones de redirección

Hola David

Como siempre, tus respuestas acertadas a la primera. MUCHAS GRACIAS.

Solo un detalle que decirte

Usando esta condición, me pasa a la página de destino, pero le mantiene el parámetro (no se porqué....)

¿Para que en la página de destino no haya parámetro? (he revisado la documentación, pero no encuentro como quitarle el parámetro en la página de destino

Gracias nuevamente.,

Un saludo.

Javier
  #13 (permalink)  
Antiguo 13/01/2010, 19:00
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 17 años, 3 meses
Puntos: 839
Respuesta: htacces - Excepciones de redirección

Citando del manual:
Cita:
The Pattern will not be matched against the query string. Instead, you must use a RewriteCond with the %{QUERY_STRING} variable. You can, however, create URLs in the substitution string, containing a query string part. Simply use a question mark inside the substitution string, to indicate that the following text should be re-injected into the query string. When you want to erase an existing query string, end the substitution string with just a question mark. To combine a new query string with an old one, use the [QSA] flag.
Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #14 (permalink)  
Antiguo 13/01/2010, 19:10
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 17 años, 4 meses
Puntos: 10
Respuesta: htacces - Excepciones de redirección

Hola David

Muchísimas gracias pro la ayuda.

Nuevamente, funciona correctamente!!!

Un saludo.

Javier

Etiquetas: excepciones, htaccess
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 08:44.