informatica

Páginas: 7 (1642 palabras) Publicado: 27 de agosto de 2013
Como crear una url amigable?


Cómo crear URLS amigables con .htaccess
Escrito el 11 diciembre, 2009 por Juan Díaz-Bustamante
¿Qué es una URL amigable? Lo mejor es un ejemplo. Esto NO es una URL amigable:

En cambio esta SI es una URL amigable:

Su propio nombre lo indica: las URL amigables son más fáciles de usar y de recordar por los usuarios y también se dice (y hay quien dice queno) que son mejores para el posicionamiento en buscadores. Además describen mucho mejor los enlaces dentro de una página web y añade un mayor nivel de profesionalidad a nuestras webs.
De todas formas, cuando hemos creado una página dinámica en PHP lo normal es que tengamos URL no amigables. ¿Cómo las convertimos en amigables de manera automática? Una manera de hacerlo es con un archivo .htaccess ygracias a Apache y su mod_rewrite.
Veamos la teoría: mod_rewrite es un módulo de Apache que permite manipular en el servidor las URLs solicitadas. Es decir, cuando llega al servidor la solicitud de una URL, esta se comprueba con respecto a una serie de reglas creadas con Expresiones Regulares creadas para detectar un patrón determinado. Si se encuentra ese patrón en el URL y se cumple lacondición impuesta por la Expresión Regular se sustituye el patrón por una cadena de texto o por una acción determinada.

IMPORTANTE: Para que todo esto funcione tiene que estar activado el módulo mod_rewrite en nuestro servidor Apache. Podemos saber si lo está simplemente con:

1

Y de entre toda la información recibida si el módulo está activado tendremos:

Lo más normal es que esté activado.Sino fuera así quizás tendríamos que hablar con nuestro proveedor de hosting.
Una vez sabemos que mod_rewrite está activado lo que necesitamos es un archivo .htaccess ¿Qué es un archivo .htaccess? Es un fichero de configuración utilizado por los servidores web Apache. Son archivos de texto.
¿Qué vamos a escribir en el archivo .htaccess? Como decíamos antes, una serie de Expresiones Regularesparainterpretar el URL entrante y crear un URL saliente interpretable por nuestro código. Si no sabéis nada sobre Expresiones Regulares (o Regular Expressions en Inglés) es importante que leais algo sobre las mismas antes de seguir. Con una simple búsqueda en Google podréis encontrar gran cantidad de tutoriales. Si sabéis inglés, estetutorial de themeforest es muy bueno. También podéis bajarosesta hoja de referencia de Expresiones Regulares(en inglés)
Bueno, vamos a pasar a la acción. Os aconsejo que lo hagáis también vosotros improvisando casos distintos para poderlo comprender mejor. Vamos a empezar por un ejemplo sencillo: Vamos a crear dos archivos, uno index.php y otro clientes.php
index.php tendrá únicamente un enlace a clientes.php, para simplificarlo todo un poco.

1
2
3
4
5
67
8
9
10
11
12



    
    Ejemplo de URL amigable


  Ahora estás en index.php
  Juan


Como podéis ver el enlace es ya una URL amigable. Sin embargo al hacer click sobre el enlace necesitamos interpretar esa URL que llega al servidor para que este sepa qué hacer. Creamos un archivo de texto, lo grabamos como .htaccess y escribimos en él:

1
2
3
4
5
6
7
# ActivarRewriteEngine
RewriteEngine on
 
# Reescribir la URL solicitada por el usuario
#   Entrada:  clientes/NOMBRE/
#   Salida: clientes.php?id=NOMBRE
RewriteRule ^clientes/(\w+)/?$ clientes.php?id=$1
Vamos a ver línea a línea. En primer lugar tenemos que activar la re-escritura de la URL, para lo cual hay que activar RewriteEngine. A continuación establecemos una Regla de Re-escritura (RewriteRule)para gestionar la página clientes.php. Como véis, estamos re-escribiendo la URL amigable clientes/juan al formato normal clients.php?id=’juan’
En esta regla de re-escritura hay dos partes. Por un lado ^clientes/(\w+)/?$ que es una expresión regular que indica:

Ahora vamos con la segunda parte. En la segunda parte tenemos la expresión que sustituirá a la primera parte:

Ahora vamos a ver el...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Informatica
  • Informatica
  • Informatica
  • Informatica
  • Informatica
  • Informática
  • Informatica
  • Informatica

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS