juancanario14
Usuario (Argentina)

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. 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 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. Fuente : phpbsd.net