InicioTaringaURLs limpias y amigables con PHP y Apache

URLs limpias y amigables con PHP y Apache

Taringa11/12/2009
Hoy en día uno de los factores a tener en cuenta cuando nos ponemos a desarrollar una aplicación PHP son que forma tendrán las URLs de nuestro futuro site. Unas URLs limpias y amigables son más fácilmente indexadas por los buscadores al mismo tiempo que son más fáciles de recordar y entender para el usuario de la web.
142fc496eac1104b24ae30fdcb1cffa1.11711001451
Como URL limpia y amigable entendemos una dirección sin parámetros por GET como por ejemplo:

http://www.tusitoweb.com.ar/bienvenida/

en lugar de la "sucia", difícil de recordar e indexar:

http://www.tusitioweb.com.ar/?page_id=5

1 - Lo primero es configurar correctamente el apache con un .htacces como:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Estas reglas son ya un clásico usado por muchas de las aplicaciones PHP que corren por ahí (como el wordpress de este blog). Indican que cualquier petición se envíe siempre al index.php.

2 - Ahora sólo falta tratar las URLs que recibimos desde PHP. Una manera muy sencilla es con una función como:

function get_url() {
$parametros = array();
$url = parse_url($_SERVER['REQUEST_URI']);
foreach(explode("/", $url['path']) as $p)
if ($p!='') $parametros[] = $p;
return $parametros;
}

Esta función devuelve un array con todos los parámetros separados por "/" pasados a la URL. Con esto ya podemos procesar la petición, sólo tenemos que consultar en este array para saber que nos piden.

Por ejemplo con la URL:

http://www.phpbsd.net/2006/12/06/optimizacion-del-rendimiento-de-adodb-en-php/

si ejecutamos un print_r(get_url()) obtenemos:


Array (
[0] => 2006
[1] => 12
[2] => 06
[3] => optimizacion-del-rendimiento-de-adodb-en-php
)

Para más información podéis consultar la documentación de la función parse_url y del módulo de apache mod_rewrite .

phpbsd.net
Datos archivados del Taringa! original
0puntos
816visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
1visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

j
Usuario
Puntos0
Posts1
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.