Las URLs amigables siempre ayudan al mejor posicionamiento en los motores de búsqueda de Internet, también para que los usuarios reconozcan fácilmente la URL actual, esta técnica ya la tienen implementada muchos websites, WordPress tambien la tiene implementada, pero para los que no usamos esta herramienta este tutorial les servira para crear URLs amigables.
Srinivas Tamada de 9lessons creo un tutorial con 2 tipos de URLs amigables basadas en Flickr y Twitter.
URL amigable estilo Flickr

Vemos que tiene 2 parámetros: “polvero” y “page2“, para lograr este resultado en nuestro website tendremos que agregar este código a nuestro .htaccess
//primer parámetro RewriteEngine On RewriteRule ^([a-zA-Z0-9_-]+)$ users.php?user=$1 RewriteRule ^([a-zA-Z0-9_-]+)/$ users.php?user=$1 //segundo parámetro RewriteEngine On RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)$ users.php?user=$1&page=$2 RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)/$ users.php?user=$1&page=$2
URL Original
http://flickr.com/users.php?id=username&page=2
URL amigable
http://flickr.com/username/2
URL amigable estilo Twitter

viendo la imagen nos damos cuenta que no puede existir un usuario “login”, “home” ni “terms”, esto se logra mediante un filtro a la hora del registro con palabras reservadas, y al mostrarlo podemos combinar un poco de .htaccess y PHP para lograr el objetivo.
Código .htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?key=$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?key=$1
Código PHP (index.php)
$key=$_GET['key'];
if($key=='home'){
include('home.php'); // Home page
}else if($key=='login'){
include('login.php'); // Login page
}else if($key=='terms'){
include('terms.php'); // Terms page
}else{
include('users.php'); // Users Gateway
}

Comentarios