Tupale

Poner URLs amigables con el archivo .htaccess y PHP

Las URLs amigable son un herramienta esencial en el posicionamiento web, ademas que hacen un poco mas limpia la navegación dentro de tu sitio. En este tutorial aprenderemos a hacer urls amigables de manera sencilla para que puedas implementarlas fácil y rápido en tu proyecto web.

¿Que son las URLs Amigables?

Para comenzar aclararemos que son las urls amigables y para que nos sirven. Imagina que tienes un sitio en PHP y si llamas los contenidos de una base de datos probablemente tus URLs serán algo como:

mipagina.com/index.php?seccion=1
mipagina.com/index.php?seccion=3&pagina=7

En el ejemplo anterior supondremos que la primera dirección corresponde a la sección de descargas de tu pagina y la segunda dirección a una pagina especifica dentro de la sección de juegos (Es solo un ejemplo).. De manera que con las URLs amigable podemos hacer que esas complejas direcciones con variables cambien por algo asi:

mipagina.com/descargas.html
mipagina.com/juegos/mi-juego.html

Pero para que hacemos esto, bueno, pues ademas de verse mas bonito y ser mas fácil para un usuario recordarlo así, los motores de búsqueda pueden leer las URLs y darles prioridad si el termino de búsqueda se encuentra dentro de dicha URL De manera que un sitio con URLs amigable puntuara mas arriba en el ranking de Google que un sitio sin ellas.

El archivo .htaccess

URLs Amigables con PHP y .htaccess

URLs Amigables con PHP y .htaccess


Este es el archivo donde realizaremos todas las configuraciones de direccionamiento de urls, hay que aclarar que este archivo no sirve solo para configurar urls amigables, tiene un sin fin de uso tremendo pero para este tutorial nos centraremos solo en las funciones de direccionamiento de urls. Si el archivo no existe deberás crearlo, lo puedes crear desde Dreamweaver o cualquier editor de texto plano como Bloc de notas, y se debe llamar simplemente “.htaccess” sin las comilas y con el punto al principio, y lo colocas en la carpeta raiz de tu proyecto web, este archivo afectara a todas las carpetas y subcarpetas que estén en esa misma carpeta.

Es importante aclarar que el archivo .htaccess solo funciona sobre servidores Apache, no funciona en IIS. Y si lo quieres probar en localhost te recomiendo usar Xampp, ya que en otros servidores locales que se basan en apache como WAMP y PHPDEV no funciona.

Para este tutorial solo necesitaremos tres expresiones básicas para usar en nuestro archivo .htaccess:

La primera es “RewriteEngine ON” sin las comillas que debe ir al principio, esto le dirá a apache que usaremos el modulo para reescribir las URLs.

Luego tenemos una función de redireccion simple que es “RewriteRule sitemap.xml sitemap.php” de esta manera debe ir en una nueva linea y lo que hace es que al ingresar la primera url apache redirecciona automáticamente a la segunda, en este caso al entrar a misitio.com/sitemap.xml se cargara misitio.com/sitemap.php puedes usar urls complejas para simplificarlas como por ejemplo: “RewriteRule blog.html index.php?pv=bekuuyit-blog&mpv=no” y así cuando entren en blog.html se cargara el contenido de index.php?pv=bekuuyit-blog&mpv=no

La tercera es la función dinámica que la definiremos asi: “RewriteRule ^contenido-(.+)-(.+).html index.php?pv=contenido&mpv=no&id=$1&titulo=$2” Como verán en la primera url las variables las determinamos con (.+) y en la segunda url con el signo de pesos $ seguido del numero de la variable, en este caso si entramos a:

contenido-3-Mi_Contenido.html nos cargara index.php?pv=contenido&mpv=no&id=3&titulo=Mi_Contenido

Eso es todo, luego solo deben ajustar las nuevas urls en el código de su pagina y listo ya tendrán el sitio configurado con URLs amigables, es muy importante que revisen que las variables no generen conflicto con las carpetas o archivos de su sitio y que las urls amigables no crucen datos entre ellas de lo contrario podrían tener muchos dolores de cabeza.

2 comments for “Poner URLs amigables con el archivo .htaccess y PHP

  1. Pablo
    8 marzo, 2012 at 5:39 AM

    muy buen tema, en un diario digital que armé, con un script llamado spip (franses), lo hice, pero la url no sale con todo el titulo de la noticia ejemplo “la-justicia-dicto-cadena-perpetua-a-violador.html” sino que sale corta ejemplo “la-junticia-dicto.html” como se puede hacer para que incluya todos los caracteres del titulo?

    saludos

    • 11 marzo, 2012 at 11:12 PM

      En alguna parte debes estar agregando un acortador, podrías poner tu código e los foros para ver que parte es la que esta generando ese problema?

Deja un comentario

A %d blogueros les gusta esto: