Como utilizar el modrewrite (Basico)

23 09 2008

Hola =)

“La continuacion de Es importante una buena “url” (Modrewrite)

Ayer hablamos de el modrewrite, hoy vamos a ver como hacer un ejemplo sencillo, muy básico.

Primero que todo vamos a crear un archivo “.htaccess“, ¿como lo hacemos?, en Internet nos dan algunas opciones, pero les voy a mostrar 2 sencillas:

1º- Descargarme un archivo que ya contenga el punto delante .htaccess y re nombrarlo. Descargar .htaccess

2º- Renombrar un archivo mediante la consola de windows.
Pasito a pasito:
2.1- Crea un archivo en blanco .txt y llévalo a c:/ (llámalo mismamente nuevo.txt)
2.2-Ve a Inicio (abajo a la izquierda en XP) luego clicka en Ejecutar… , escribe cmd y se abrirá la consola de windows.
2.3- Para asegurarnos que estamos en c:/ escribimos en la consola cd c:\ (si no lo estamos nos llevará)
2.4- Renombramos el archivo escribiendo rename nuevo.txt .htaccess

Tomado de: http://blog-indomita.blogspot.com/2008/06/crear-un-archivo-htaccess-o-loquesea-en.html

Si estas en linux es demasiado sencillo, simplemente creas un archivo en blanco y lo re nombras así “.htaccess” sin comillas lógico.

Bueno, ya después de creado, sigue el paso de modificar el contenido, por obvias razones esta en blanco, entonces lo primero que vamos a hacer es escribir esto:

Options +FollowSymLinks
RewriteEngine on
Rewriterule ^(.*)\_(.*)\.html$ index.php?pagina=$1&nombre=$2

si vemos la estructura que tiene es la siguiente, donde aparezca ^(.*)\ nos va a indicar que es la primera variable de la url, y el siguiente ^(.*)\ es la segunda variable, entonces en este caso la primera variable en la url la indico con $1 y la segunda con $2 y así consecutivamente, si vemos hay un guion bajo “_“, este es un carácter que yo usare para separar las variables. entonces la url en el navegador quedaría:

5_articulo-sobre-modrewrite.html

si vemos el 5 indica la pagina osea la variable $1, y el texto “articulo-sobre-modrewrite” nos indica la segunda variable osea $2.

Hagamos un ejemplo, digamos que se necesita por medio de modrewrite hacer una url bonita que quede por ejemplo,

la-pagina-de_andreslara501_lanzada-en-el_2008_y-el-es-de_colombia.html

¿Como la hacemos?, sencillo, la clave esta en saber identificar las variables.

Options +FollowSymLinks
RewriteEngine on
Rewriterule la-pagina-de_^(.*)\_lanzada-en-el_(.*)\_y-el-es-de_(.*)\.html$ index.php?nombre=$1&ano=$2&pais=$3

Ahora si vamos con la explicación, los ^(.*)\ van ubicados donde ira las variables en la url, como me muestra el ejemplo el primer ^(.*)\ contiene el nombre que es ANDRESLARA501 y es la variable $1, el segundo ^(.*)\ contiene el año y es la variable $2 que contiene 2008, y la tercera variable es $3 que contiene el país osea COLOMBIA.

Así podemos jugar con el modrewrite, haciendo muchas cosas muy vacanas (Sinónimo de chevere, divertido, espectacular, palabra muy usada en Colombia) así que anímate, entre mas lo uses en tus aplicaciones php, mejor serán, por que tus usuarios comprenderán mejor la url.

Recuerda que el archivo .htaccess va en la carpeta donde esta el archivo .php que le hagamos el tratamiento del modrewrite.

Chau y éxitos

Dato curioso: :P Escribiendo al final casi coloco “Modrewitter” :P jajajaja hay dios :P





Es importante una buena “url” (Modrewrite)

22 09 2008

imagen index

Cuando la internet comenzó su auge, todo era en .htm después se comenzó a usar el .html, y se comenzó a utilizar las paginas dinámicas, osea que el contenido no fuera fijo, por ejemplo paginas como:

index.php?pagina=3

Esto era contenido generado por la maquina (En este caso una computadora con Apache o algún programa para servidores). Entonces se generaban muchas paginas en relación a una base de datos.

Google siempre ha dado algunas pautas para el mejor funcionamiento de la web, como conocemos Google tiene el llamado “Googlebot”, que lo que hace es rastrear las web de la Internet, al hacer esto, se indexan webs tanto como .html como .php y .asp en fin, muchas webs con extensiones diversas, entonces Google miro que el contenido dinámico generado desde los php, como index.php?pagina=1 , index.php?pagina=2, index.php?pagina=3 y asi, eran contenidos que podrían ser falsos y solo sirven para aumentar el numero de paginas indexadas en el buscador.

A Google se le ocurrió que las paginas .html serian mejor catalogadas que las index.php?pagina=3…. pero hecha la ley, hecha la trampa, en php hay algo llamado “modrewrite” (Modulo de re escritura, Me perdonan si esta mal traducido) entonces el modrewrite lo que hace es cuando tu llames con alguna dirección lógica, te redireccione a una foto, o a un .php o a un .html, No me entendieron cierto?, jaja bueno aquí va el ejemplo:

Tenemos:

index.php?pagina=1

Aplicándole el modrewrite podría hacer que me quedara así:

articulo-sobre-modulo-de-re escritura-pagina_1.html

Como ves, se cambio la url “.php” por una “.html” y esto permite que Google valore mas nuestro articulo, esto también sirve a la hora de indexar el contenido en el buscador, por que le estaremos dando mas parámetros para que Google los agregue a la hora de encontrar una búsqueda. Por ejemplo:

si tienes la dirección index.php?pagina=1, el buscador a la hora de indexar, no esta tomando ninguna palabra clave de la url, pero cuando es: articulo-sobre-modulo-de-reescritura-pagina_1.html le estoy dando las palabras claves: “articulo”, “sobre”, ” Modulo”, “re escritura”, “Pagina”.

Todo esto sumado a una estructura basada en estándares, y un muy buen contenido original, nada de COPY & PASTE. Nos proporciona una buena indexacion en Google y en los mas afamados buscadores de la Internet.

Aclaro: Indexacion = El proceso que hace el buscador al momento de tomar información de documentos y archivos de Internet, para clasificar, ordenar y agrupar para la facilidad a la hora de la búsqueda.

Un ejemplo sencillo es de la pagina de ELTIEMPO.COM http://eltiempo.com a continuacion les muestro la captura donde pueden ver en la area de la url el modrewrite aplicado.


Mañana escribiré el articulo de un basico de modrewrite, por ahora pues les pido disculpas y si quieren pues peguen una googleada.

Cualquier cosa escriban a mi mail:

andreslara501(Arroba)Hotmail.com

o sino en mi twitter, igual pueden ver lo que estoy haciendo :P :

http://twitter.com/andreslara501