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

Cambiar ruta a las fotos

Estas en el tema de Cambiar ruta a las fotos en el foro de Apache en Foros del Web. Hola foreros, Estoy haciendo una web con varios templates y me gustaria hacer con el htaccess lo siguiente: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < ...
  #1 (permalink)  
Antiguo 26/06/2010, 19:51
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 7 meses
Puntos: 19
Cambiar ruta a las fotos

Hola foreros,

Estoy haciendo una web con varios templates y me gustaria hacer con el htaccess lo siguiente:
Código HTML:
Ver original
  1. <img src="images/logo.png" />

Lo que me gustaria es que las fotos las sacase de la carpeta:

"www.midominio.com/interface/theme/blue/images/"

Pero hacerlo con la ruta 'images/logo.png', es decir: www.midominio.com/images/logo.png .

¿Existe algun modo de redirigir las fotos con el .htaccess?... seria fantastico... una pasada!... es que me estoy volviendo majareta con las rutas de las fotos cuando se cambian los themes de lugar y demas... jojo.

¿Alguno sabe?
  #2 (permalink)  
Antiguo 26/06/2010, 20:00
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Cambiar ruta a las fotos

En vez de hacerlo con htaccess lo puedes hacer con algún lenguaje que corra en el servidor, como por ejemplo PHP o ASP, etc.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 26/06/2010, 20:30
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 7 meses
Puntos: 19
Respuesta: Cambiar ruta a las fotos

Hola abimaelrc,

No lo habia pensado... y si lo pienso dos segundos no me parece una mala idea... pero la elegancia de hacerlo con un simple htaccess no tiene precio... jojo

Ademas que creo que sobrecargar al servidor por una cosa como esta me parece un poco sobrado... con la de fotos pequeñas que tengo, jojo...

Asi que me quedo con la idea del htaccess...

¿Se te ocurre alguna forma?

Estoy probando con:
Código Apache:
Ver original
  1. RewriteEngine On
  2. RewriteRule (.*\.(jpg|gif|png))$ /interface/themes/glossyblue/$1 [P,NC]

Pero no la ruta se vuelve loca, jeje... no se como hacerlo
  #4 (permalink)  
Antiguo 26/06/2010, 21:41
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Cambiar ruta a las fotos

De esta forma lo logre.
Código Apache:
Ver original
  1. # % -> esta línea la puedes borrar, es para evitar un error que hace el hightlight con el porciento
  2. RewriteEngine On
  3. RewriteCond %{REQUEST_FILENAME} ^.*\.jpg|gif|png$
  4. RewriteRule ^([^/]*\.jpg|gif|png)$ /img/$1 [L]
La forma como tienes que declararlo en la etiqueta de imagen es con solo el nombre de la imagen, sin directorio, entiendo que es la mejor forma para que el resto del trabajo lo haga apache.
Código HTML:
Ver original
  1. <img src="imagen.jpg" />
Pero, entiendo que lo mejor es que el trabajo lo haga el lenguaje de servidor que apache. Posiblemente te encuentres con problemas luego, ya que esto es generico y con el lenguaje del servidor puedes hacerlo específico.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 27/06/2010, 16:29
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 7 meses
Puntos: 19
Respuesta: Cambiar ruta a las fotos

Hola abimaelrc,

La has clavado, jojo... era justo lo que estaba buscando hacer. Hace un año hice una web con Drupal y termine odiando, ODIANDO, como trataba las rutas, era un cachondeo increible... imaginate apesar de usar base de datos y toda la pesca sus rutas eran mas absolutas que absolutas, que supongo que hay un modulo especifico para evitarlo pero yo no lo encontre... y otra locura era introducir la web en un iframe ya era la repanocha, jojo.

Pues eso... que creo que me acabas de salvar la vida con las rutas.

Ahora me encuentro con otro problemilla con el codigo que me has posteado... y es que si quiero que la imagen este dentro de una carpeta el codigo que me has dado hace como si solo existiese el nombre de la imagen y se olvida de las carpetas.

¿Seria posible un codigo parecido a este?: es decir que con la ruta "glossyblue/image/logo.png" coja la imagen de : midominio.com/ interface/themes /glossyblue/image/logo.png

Código HTML:
Ver original
  1. <img src="glossyblue/image/logo.png" />
Código Apache:
Ver original
  1. RewriteCond %{REQUEST_FILENAME} ^.*\.png$
  2. RewriteRule ^([^/]*\.png)$ /interface/themes/$1 [L]

Supongo que ves para que necesito esto, es simplemente para no volver locos a los diseñadores de themas de una aplicacion que estoy haciendo, jojo... de este modo no se incluyen rutas en las imagenes ni nada... la verdad es que tu codigo es una maravilla tal como es... pero si me rulas las carpetas pues fantastico.

Y otra preguntita... he buscado informacion para aprender apache... pero me encuentro la mayoria de las veces con la misma informacion de rutas bonitas, proteccion de carpetas y demas, cuando lo que quiero es un manual como el de PHP en español... es decir... como has aprendido tu?... es por ejemplo el $1 me deja roto... jojo.

PD: ya he encontrado algun manual in spanish,.. jojo

Última edición por salbatore; 27/06/2010 a las 16:34
  #6 (permalink)  
Antiguo 27/06/2010, 17:08
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Cambiar ruta a las fotos

Te repito, para hacer énfasis, lo mejor es usar el lenguaje del servidor para hacer rutas absolutas. Te vas a encontrar un sin número de problemas tratándolo así. Te recomiendo que no te rompas la cabeza usando esta forma y que uses un lenguaje de servidor, y asignar un valor a una variable y llamar esa variable en todos los lugares que necesites.

También ¿cuál es el manual que encontraste?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 27/06/2010, 17:34
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 7 meses
Puntos: 19
Respuesta: Cambiar ruta a las fotos

Hola abimaelrc,

He encontrado este http://httpd.apache.org/docs/2.0/es/mod/directives.html , aunque pensaba que estaba en español... veo que cuando te diriges a las puntillas todo esta en ingles... una pena, jojo.

¿Seguro que te parece mas complejo?... por lo menos en mi aplicacion tengo tan tan tan particionado lo que es el interface del codigo puro y duro que me parece una gran idea partir aun mas sus rutas. Es decir, por ejemplo, hace un tiempo hize un tema para drupal para un periodico sencillo y, como nunca habia hecho nada en drupal, me costo bastante, jojo... el caso es que muchos de los problemas que tuve fue por el tema de las rutas.

Me parece que hacer esto:

Código HTML:
Ver original
  1. <img src="<?php echo $base; ?>glossyblue/image/logo.png" />

Es mas cutre que hacerlo con apache, donde el diseñador que no tiene ni papa de php y ni quiere, jojo... ni se entere que le estoy dirigiendo a otro lugar. Es mas... imaginate el diseñador sube solo la carpeta mi_tema_glossyblue y se olvida de todo lo demas!... jojo...

¿Asi que?... jojo... creo que se me va a caer la baba cuando lo consiga... bueno ya voy demasiado ladrillaco... joer como me enroooollloooo.

Sobre el codigo... estoy intentando añadir las carpetas pero es como si la variable $1, o el 1... o el $... es que la verdad no se que significan y aun estando en inglis piti inglis... no me empano mucho, jojo. Bueno el caso es que parece que solo pega el nombre de la imagen y se olvida de las carpetas:

Código Apache:
Ver original
  1. #recibe: mi_tema_glossyblue/images/logo.png
  2.       RewriteCond &#37;{REQUEST_FILENAME} ^.*\.png$
  3.  
  4.       RewriteRule ^([^/]*\.png)$ /interface/themes/$1 [L]

Siento no tener el mismo punto de vista... jojo... pero es que me parecio un inferno... oh Coronel Truman! no siento las piernas!... en serio... me parece buena idea y bueno si me hechas un cacho mas de mano lo conseguiremos!, jojo.
  #8 (permalink)  
Antiguo 27/06/2010, 17:46
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Cambiar ruta a las fotos

En RewriteCond puedes colocar la condición, para cuando lleve tal ruta haga tal cosa y cuando lleve la otra esto otro. Yo te recomiendo, último intento para ver si te cambio de parecer, que mires como han hecho los CMS (wordpress, joomla, etc). Si ellos, que son programadores de mucha experiencia, hacen las rutas de esa forma (que para ti son cutre ) es porque deben haber experimentando diferentes formas de hacerlo y creo que la que estás sugiriendo también. Pero bueno con RewriteCond puedes condicionar como te indique para que puedas colocar la ruta como deseas.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 27/06/2010, 19:05
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 7 meses
Puntos: 19
Respuesta: Cambiar ruta a las fotos

Hola abimaelrc,

Ya siento molestarte de nuevo, se que parece que no me esfuerzo en editar el htaccess... ya me he leido algun que otro manual... la verdad es que no parece que haya tanto... pero me cuestan comprender algunas cosas que se dan por sabidas. La verdad es que ya llevo mas de 10 horas con este tema a tope... y nada, menos mal que tengo tiempo de sobra y me gusta trastear, jojo.

Bueno el caso es que ya se que debo cambiar esta linea:

#me llega: glossyblue/image/logo.png
RewriteCond %{REQUEST_FILENAME} ^.*\.png$
RewriteRule ^([^/]*\.png) /interface/themes/$1 [L]

El $1 es lo que esta entre parentesis, pero no se entiendo como puedo hacer que "glossyblue/image/logo.png" se ponga detras de "/interface/themes/" y que me de como resultado la ruta: www .midominio.com/interface/themes/glossyblue/image/logo.png.

Buff... ya siento molestarte tanto con lo que me has ayudado. Pero llevo tanto tiempo buscando que no se que pensar.
  #10 (permalink)  
Antiguo 29/06/2010, 08:55
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 7 meses
Puntos: 19
Respuesta: Cambiar ruta a las fotos

Hola a todos,

Viendo mi ultima respuesta creo que no me explicado bien, este es el problema que tengo:

Si un usuario pone esta direccion: www.midominio.com/mitema/image/logo.png me gustaria que apache le enseñase: www .midominio.com/interface/temas/mitema/image/logo.png .

Es decir que la ruta de la imagen empezase como base con /interface/temas/ . Lo he intentado hacer pero siempre se olvida de las carpetas anteriores al nombre del archivo.

Explicacion del codigo:

Código HTML:
Ver original
  1. <!--Esta es una imagen en mi HTML-->
  2. <img src="mitema/image/logo.png" />

Lo que quiero es que el htaccess me envie a:

Código Apache:
Ver original
  1. #copie la ruta de la imagen "mitema/image/logo.png" y lo ponga detras de "interface/temas/" y como resultado de: "interface/temas/mitema/image/logo.png".
  2.  
  3. #lo estoy intentando con:
  4. RewriteEngine On
  5.  
  6. RewriteRule ^([^/]*\.gif) /interface/themes/$1 [L]

He mirado por google un monton pero no entiendo cual es el problema... es como si $1 fuese 'logo.png' cuando quiero que sea 'mitema/image/logo.png'.

¿Como puedo solucionarlo?

Etiquetas: fotos, ruta
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




La zona horaria es GMT -6. Ahora son las 01:18.