Estoy haciendo una web en PHP en la que quiero utilizar links agradables en vez del típico ?id=343. Es una web de anuncios, donde aparecería un listado por categorías, y los usuarios pueden ver y añadir anuncios.
Os cuento cómo lo estoy haciendo:
En el index y antes de nada, compruebo la url, y a partir de aquí actúo:
Código PHP:
$permalink = explode("/",$_SERVER['REQUEST_URI']);
switch(strtolower($permalink[0])){
case "pagina":
//Si estoy en el paginador, recojo el nº de la misma. Ejemplo: /pagina/1/
$pagina = $permalink[1];
break;
case "anuncio":
//Si estoy en un anuncio...
break;
default:
//Lanzo error 404 Not Found
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
break;
}
$contenido = $permalink[0];
include("cabecera.php");
include($contenido);
include("footer.php");
Código:
Bueno, así es a groso modo como lo estoy planteando, pero me parece una forma muy poco elegante y/o cómoda de hacerlo y tengo la sensación de que no se debería hacerse así. De hecho me parece increíble que en Wordpress haya un simple selector donde elegir el tipo de permalink, dado que cambia por completo la estructura del enlace, que por otro lado, me parece engorroso hacer a mano.<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
¿Creeis que lo estoy haciendo bien?
Gracias!