Linux en Espanol
 
Re-direcci?n de directorios (tema #25106)
Publicar nuevo tema  Responder al tema    Foros de discusión -> Servidores y Servicios
Autor Mensaje
seafree
Forista
Registrado: 2015-02-10
Mensajes: 4

Publicado: 2015-02-10 16:38:41    Asunto: Re-direcci?n de directorios

Estoy redirijiendo un directorio web de manera trasparente hacia otra direccion.

Genere el archivo denominado arbitrariamente como
/etc/httpd/conf.d/ejemplo-redireccion.conf:

vi /etc/httpd/conf.d/ejemplo-redireccion.conf

A?ado:
Redirect 301 /tecnicos http://15.24.1.6/tecnicos/cev.html


Guardo el archivo, salga del editor de texto y recargo el servicio para que surtan efecto los cambios hechos a la configuraci?n:

service httpd reload

Y cuando accedo a http://15.24.1.6/tecnicos me redirije a:

http://15.24.1.6/tecnicos/cev.html/cev.html/cev.html/cev.html/cev.html/cev.html/cev.html/cev.html/cev.html/cev.html/cev.html/cev.html/cev.html/cev.html/cev.html/cev.html/cev.html/cev.html/cev.html/cev.html

Cuando solo me debe de redirigir a: http://15.24.1.6/tecnicos/cev.html

Alguna sugerencia o aclaracion?, gracias.
miguelgf
Forista


Registrado: 2006-12-28
Mensajes: 621

Publicado: 2015-02-10 23:10:17    Asunto:

Hola.

El comportamiento de tu redirecci?n es el siguiente:
Analiza /tecnicos y lo cambia por http://15.24.1.6/tecnicos/cev.html
Ahora la cadena http://15.24.1.6/tecnicos/cev.html contiene /tecnicos, por lo que lo sustituye quedando
http://15.24.1.6 http://15.24.1.6/tecnicos/cev.html/cev.html
Esto a su vez contiene /tecnicos, por lo que lo sustituye por http://15.24.1.6/tecnicos/cev.html quedando
http://15.24.1.6 http://15.24.1.6http://15.24.1.6/tecnicos/cev.html/cev.html/cev.html
Y as? sucesivamente.
Debes cambiar la redireccci?n de la cadena fija /tecnicos por una expresi?n regular que indique que s?lo se sustituya cuando es el fin de la cadena, es decir cuando m?s all? de tecnicos no hay m?s "/..."
Si redirect no admite expresiones regulares, que no lo s?, deber?s usar:
[code:1:ea54ed865f]RewriteEngine On
RewriteCond ....
RewriteRule ...[/code:1:ea54ed865f]

Saludos.





La marca registrada Linux (R) se usa siguiendo la sublicensia obtenida del "Linux Mark Institute",
el LICENCIATARIO exclusivo de Linus Torvalds, propietario de la marca en EEUU y otros países
The registered trademark Linux (R) is used pursuant to a sublicense from the Linux Mark Institute,
the exclusive LICENSEE of Linus Torvalds, owner of the mark in the U.S. and other countries