Como bien dices, unas direcciones estructuradas dan muchas ventajas frente a posicionamiento, y a la apariencia general de la web. En mi web, todas las páginas de cualquier dirección de mi sitio, están generadas por el mismo PHP.
Ejemplos:
www.midominio.com/help www.midominio.com/register www.midominio.com/login/doEstás direcciones aparentemente independietes son generadas por el mismo archivo: index.php. ¿Cómo se consigue esto? Mediante un .htaccess
Nota: Tienes que tener el ModRewrite activado en tu servidor web.
El código en cuestión sería este:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?section=$1
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ index.php?section=$1&action=$2
Explicacion de la los RewriteRule:
Esta linea:
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?section=$1 lo que hace es que todas las direcciones tratadas como:
www.midominio.com/algo sean tratadas en realidad internamente como: index.php?section=algo, por tanto tiene la misma acción que si se visitara esta última dirección. Los caracteres indicarían los permitidos al escribir la dirección.
La siguiente linea:
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ index.php?section=$1&action=$2 indica que las direcciones tratadas como
www.midominio.com/algo/accion sean tratadas internamente como:
www.midominio.com/index.php?section=algo&action=accion por tanto producirán la misma salida.
Espero que te haya quedado claro.
r4nd0m