Como utilizar MOD_REWRITE

  • 20/01/2008
  • 4:15 pm
  • unijimpe

MOD_REWRITE es un modulo del servidor web Apache que permite crear URL alternativas a nuestras páginas dinámicas de forma que sean mas fáciles de recordar y también mejor indexadas por los buscadores.

Esto nos permite que un URL de la forma:

CODE:
  1. http://www.sample.com/producto.php?cat=monitor&subcat=lcd

Se pueda acceder mediante:

CODE:
  1. http://www.sample.com/monitor/lcd/

Como Funciona?
Para utilizar MOD_REWRITE es necesario crear una serie de reglas basadas en Expresiones Regulares el cual permite identificar un determinado patrón y reescribirla. Internamente Apache procesará el URL resultante y se le mostrará al cliente.

Estas reglas se escriben y colocan en un archivo de configuración llamado .htaccess el cual se encuentra en la raíz del servidor donde se quieren aplicar estas reglas.

Utilizando MOD_REWRITE
Lo primero es crear un archivo .htaccess, en el cual incluimos código para activar la opción de reescritura y luego utilizamos el comando RewriteRule en donde pasamos dos parámetros, el primero de ellos es el URL que vamos a reemplazar y el segundo es el URL que utilizaremos de reemplazo.

Luego si deseamos convertir nuestro URL de ejemplo, utilizaremos el siguiente código.

CODE:
  1. Options +Indexes
  2. Options +FollowSymlinks
  3. RewriteEngine on
  4. RewriteBase /
  5. RewriteRule ^(.*)/(.*)/ products.php?cat=$1&subcat=$2

Nótese que $1 representa la primera coincidencia y $2 la segunda coincidencia buscada en el URL. Ahora hay que notar que esto es para cuando se desea aplicar la regla a un URL que esta en la raiz del servidor. Si nuestro URL esta en una carpeta por ejemplo llamada rewrite, entonces cambiamos el comando RewriteBase que indica la carpeta base a donde se aplicará la reescritura.

CODE:
  1. Options +Indexes
  2. Options +FollowSymlinks
  3. RewriteEngine on
  4. RewriteBase /rewrite/
  5. RewriteRule ^(.*)/(.*)/ products.php?cat=$1&subcat=$2

Luego si creamos un PHP que imprima las variables que se les pasa por URL, tendríamos el siguiente código de ejemplo.

PHP:
  1. <?php
  2. // file: products.php
  3. echo "<b>Categoría: </b>\t" . $_GET["cat"] . "<br>";
  4. echo "<b>SubCategoría</b>\t: " . $_GET["subcat"] . "<br>";
  5. ?>

Finalmente podemos ver que podemos obtener el mismo resultado al acceder a las siguientes URLs, las cuales devuelven el mismo resultado, pero obviamente la segunda forma es mucho mas corta y mas fácil de recordar.
http://samples.unijimpe.net/rewrite/products.php?cat=monitor&subcat=LCD
http://samples.unijimpe.net/rewrite/monitor/LCD/

Si desean mas información pueden leer mod_rewrite en la documentación oficial de Apache en donde encontrarán una guía muy detallada de como crear y utilizar reglas para las URLs. Finalmente para los interesados les dejo los archivo fuente de este ejemplo.

Posts Relacionados

Eventos del teclado en AS2

  • 15/01/2008
  • 11:35 pm
  • unijimpe

ActionScript 2 tiene un completo set de herramientas que permiten detectar y responder a los eventos del teclado, esto para dar mayor interactividad a nuestras películas flash. Para manejar los eventos del teclado se tiene la clase Key que se puede utilizar para crear interfaces de usuario que controlen el teclado estándar.

Detectando el Teclado
Lo primero es detectar cuando se ha presionado alguna tecla, para ello existen dos eventos onKeyDown y onKeyUp, para detectar estos eventos es necesario agregar un listener de la siguiente forma:

Actionscript:
  1. var listKey:Object = new Object();
  2. listKey.onKeyDown = function () {
  3.     // acción al presionar la tecla
  4. }
  5. listKey.onKeyUp = function () {
  6.     // acción al soltar la tecla
  7. }
  8. Key.addListener(listKey);

Códigos del Teclado
Cada tecla tiene asociado un código que nos servirá para poder compararlo y verificar la tecla que se ha presionado, para ello se tienen los siguiente códigos:

  • BACKSPACE: código de la tecla de Retroceso
  • CAPSLOCK: código de la tecla Bloq Mayús
  • CONTROL: código de la tecla Control
  • DELETEKEY: código de la tecla Suprimir
  • DOWN: código de la tecla de flecha abajo
  • END: código de la tecla Fin
  • ENTER: código de la tecla Intro
  • ESCAPE: código de la tecla Escape
  • HOME: código de la tecla Inicio
  • INSERT: código de la tecla Insert
  • LEFT: código de la tecla de flecha izquierda
  • PGDN: código de la tecla AvPág
  • PGUP: código de la tecla RePág
  • RIGHT: código de la tecla de flecha derecha
  • SHIFT: código de la tecla Mayús
  • SPACE: código de la tecla Barra espaciadora
  • TAB: código de la tecla Tabulador
  • UP: código de la tecla de flecha arriba

Luego podemos utilizar el método getCode() que devuelve la tecla que se ha presionado y la podemos comparar con los códigos listados anteriormente. Por ejemplo si deseamos ejecutar una función cuando se presiona la tecla ENTER (por ejemplo enviar un formulario) tendríamos el siguiente código.

Actionscript:
  1. var listKey:Object = new Object();
  2. listKey.onKeyDown = function () {
  3.     if (Key.getCode() == Key.ENTER) {
  4.       sendForm()
  5.     }
  6. }
  7. Key.addListener(listKey);

Nótese que sendForm es una función definida por el usuario, es decir que nosotros podemos definir y que contenga las acciones que deseamos realizar.

Luego si deseamos por ejemplo controlar la posición de un clip llamado esfera con el teclado podemos utilizar el siguiente código:

Actionscript:
  1. var step:Number = 5;
  2. var listKey:Object = new Object();
  3. listKey.onKeyDown = function () {
  4.     switch (Key.getCode()) {
  5.         case Key.LEFT:
  6.             esfera._x += step;
  7.         break;
  8.         case Key.UP:
  9.             esfera._y -= step;
  10.         break;
  11.         case Key.RIGHT:
  12.             esfera._x += step;
  13.         break;
  14.         case Key.DOWN:
  15.             esfera._y += step;
  16.         break;
  17.     }
  18. }
  19. Key.addListener(listKey);

Como pueden ver utilizar los eventos del teclado es sencillo y con un poco de imaginación se pueden obtener resultados muy elaborados.

Posts Relacionados

Crear y Utilizar Favicon

  • 14/01/2008
  • 11:12 pm
  • unijimpe

Favicon (del ingles 'Favorites Icon') es una pequeña imagen asociada con un sitio web, esta imagen o icono se muestra en los navegadores junto a la dirección de un sitio web y que sirve para identificar de forma visual un determinado sitio web.

favicon.gif

Crear un Favicon
Un favicon es un archivo con extensión .ico el cual es diferente al formato gif o bmp. Entonces el icono debe tener las siguientes características: dimensión de 16x16 pixels, 16 colores y estar en formato ICO.

Existe una infinidad de herramientas con las cuales puedes crear tus favicon entre las cuales podemos destacar:

  • Microangelo, completo set de herramientas para crear y editar favicon.
  • Icon Forge, otro editor sencillo de iconos.
  • KIconEdit, el editor de iconos de KDE.

También existen servicios online en donde puedes crear tu icono sin necesidad de tener un software instalado, entre las cuales podemos listar:

Insertar un Favicon
Una vez que tenemos el favicon para nuestro sitio web el siguiente paso es insertarlo, para ello es necesario una línea de código en el header de nuestro HTML.

HTML:
  1. <link rel="shortcut icon" href="http://tuweb.com/favicon.ico" />

Como pueden ver con unos pocos pasos pueden personalizar su web añadiéndole un elemento visual que ayudará a sus visitantes a identificarlos rápidamente.

Posts Relacionados