PedroReina
13/02/06, 00:54:04
(Me temo que este post puede resultar largo)
Desde que tuve la primera cámara digital me di cuenta de lo fácil que sería compartir imágenes con todo el mundo gracias a la web. Como disponía de servidor propio, comencé a trabajar en un método para facilitar la navegación por las fotos, que pensaba colgar en gran número. Aunque ya existían muchos programas para gestionar galerías, preferí escribir uno propio.
El lenguaje que elegí es PHP porque es libre y muy adecuado para la web, pricipalmente. Así nació el programa fn, que me permitió dar URL como estas:
El índice de una serie de fotos: http://pedroreina.net/fotos/navegacion.php?Serie=2006-01-22&Numero=0
Una foto en concreto: http://pedroreina.net/fotos/navegacion.php?Serie=2006-01-22&Numero=40
El método funcionó, pero las URL que generaba me parecían excesivamente largas y poco intuitivas (especialmente para los no expertos en los asuntos técnicos de la web), de modo que desde hace poco utilizo una característica del servidor web Apache que permite reescribir las URL sin que el usuario se entere. El módulo de Apache que se encarga de esta reescritura se llama mod_rewrite (http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html).
Gracias a él, las direcciones anteriores son accesibles desde http://pedroreina.net/fotos/2006-01-22.0 y http://pedroreina.net/fotos/2006-01-22.40.
Como podéis observar, se han eliminado de la URL tanto el nombre del script PHP como los nombres de las variables que recibe, quedando únicamente los valores de las variables. En mi opinión, queda mucho más limpio, además de ser obviamente más corto.
El módulo mod_rewrite utiliza para las reescrituras unas reglas que utilizan expresiones regulares (http://www.regular-expressions.info/), lo que lo hace muy flexible. En concreto, para conseguir esta redirección hay que escribir en un archivo llamado .htaccess una línea como esta:
RewriteRule ^(.+)\.([0-9]+)$ navegacion.php?Serie=$1&Numero=$2
(hace falta alguna línea más, pero esta es la más importante).
Tras comprar la Canon 350D y conocer este foro, he tomado otra vez con muchas ganas esto de la fotografía y ahora me apetece hacer una pequeña selección de las fotos y colocarlas de un modo destacado. Así que otra vez he escrito un poco de PHP y he vuelto a usar mod_rewrite.
El resultado está en http://pedroreina.net/sfd/, donde podréis apreciar que en ningún momento se nota si las páginas están servidas por PHP, son estáticas o qué pasa. Por ejemplo, el gato que me ayudastéis a mejorar en La Pulidora está en esta URL: http://pedroreina.net/sfd/gato (fijaos especialmente por favor en la forma que tiene la URL).
En resumen: con PHP se pueden manejar las fotos vía web estupendamente y con Apache se puede conseguir que las URL sean sencillas e intuitivas.
Editado: he arreglado los vínculos
Desde que tuve la primera cámara digital me di cuenta de lo fácil que sería compartir imágenes con todo el mundo gracias a la web. Como disponía de servidor propio, comencé a trabajar en un método para facilitar la navegación por las fotos, que pensaba colgar en gran número. Aunque ya existían muchos programas para gestionar galerías, preferí escribir uno propio.
El lenguaje que elegí es PHP porque es libre y muy adecuado para la web, pricipalmente. Así nació el programa fn, que me permitió dar URL como estas:
El índice de una serie de fotos: http://pedroreina.net/fotos/navegacion.php?Serie=2006-01-22&Numero=0
Una foto en concreto: http://pedroreina.net/fotos/navegacion.php?Serie=2006-01-22&Numero=40
El método funcionó, pero las URL que generaba me parecían excesivamente largas y poco intuitivas (especialmente para los no expertos en los asuntos técnicos de la web), de modo que desde hace poco utilizo una característica del servidor web Apache que permite reescribir las URL sin que el usuario se entere. El módulo de Apache que se encarga de esta reescritura se llama mod_rewrite (http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html).
Gracias a él, las direcciones anteriores son accesibles desde http://pedroreina.net/fotos/2006-01-22.0 y http://pedroreina.net/fotos/2006-01-22.40.
Como podéis observar, se han eliminado de la URL tanto el nombre del script PHP como los nombres de las variables que recibe, quedando únicamente los valores de las variables. En mi opinión, queda mucho más limpio, además de ser obviamente más corto.
El módulo mod_rewrite utiliza para las reescrituras unas reglas que utilizan expresiones regulares (http://www.regular-expressions.info/), lo que lo hace muy flexible. En concreto, para conseguir esta redirección hay que escribir en un archivo llamado .htaccess una línea como esta:
RewriteRule ^(.+)\.([0-9]+)$ navegacion.php?Serie=$1&Numero=$2
(hace falta alguna línea más, pero esta es la más importante).
Tras comprar la Canon 350D y conocer este foro, he tomado otra vez con muchas ganas esto de la fotografía y ahora me apetece hacer una pequeña selección de las fotos y colocarlas de un modo destacado. Así que otra vez he escrito un poco de PHP y he vuelto a usar mod_rewrite.
El resultado está en http://pedroreina.net/sfd/, donde podréis apreciar que en ningún momento se nota si las páginas están servidas por PHP, son estáticas o qué pasa. Por ejemplo, el gato que me ayudastéis a mejorar en La Pulidora está en esta URL: http://pedroreina.net/sfd/gato (fijaos especialmente por favor en la forma que tiene la URL).
En resumen: con PHP se pueden manejar las fotos vía web estupendamente y con Apache se puede conseguir que las URL sean sencillas e intuitivas.
Editado: he arreglado los vínculos