Una URL amigable es una URL fácil de entender, tanto para los buscadores como para usuarios del sitio web y que muestra la temática de la página con solo leer su dirección.
Estableceremos los parámetros permitidos en el .htaccess, y después en el archivo index.php recibiremos los parámetros establecidos a través de la variable global de Php $_GET, aquí puedes ver una captura de un var_dump.
Tabla de contenidos
Reglas para el .htaccess
Url amigable con un parámetro
##URL: http://localhost/parametro1id/ RewriteEngine on RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-f Rewriterule ^(.+)/$ index.php?id=$1
<?php $id = $_GET["id"]; echo $id; ?>
Url amigable con dos parámetros
##URL: http://localhost/parametro1id/parametro2param/ RewriteEngine on RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-f Rewriterule ^(.+)/(.+)/$ index.php?id=$1¶m=$2
<?php $id = $_GET["id"]; $param = $_GET["param"]; echo $id; echo $param; ?>
Url amigable con tres parámetros
##URL: http://localhost/parametro1id/parametro2param/parametro3post/ RewriteEngine on RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-f Rewriterule ^(.+)/(.+)/(.+)/$ index.php?id=$1¶m=$2&post=$3
<?php $id = $_GET["id"]; $param = $_GET["param"]; $post = $_GET["post"]; echo $id; echo $param; echo $post; ?>
Url amigable con tres parámetros, el último solo acepta números
##URL: http://localhost/parametro1id/parametro2param/parametro3post/ RewriteEngine on RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-f Rewriterule ^(.+)/(.+)/([0-9]+)/$ index.php?id=$1¶m=$2&post=$3
<?php $id = $_GET["id"]; $param = $_GET["param"]; $post = $_GET["post"]; echo $id; echo $param; echo $post; ?>
Url amigable con tres parámetros, el último solo acepta letras minusculas
##URL: http://localhost/parametro1id/parametro2param/parametro3post/ RewriteEngine on RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-f Rewriterule ^(.+)/(.+)/([a-z]+)/$ index.php?id=$1¶m=$2&post=$3
<?php $id = $_GET["id"]; $param = $_GET["param"]; $post = $_GET["post"]; echo $id; echo $param; echo $post; ?>
Si te ha sido de utilidad ¡deja un comentario!
Excelente tutorial, muy simple, lo único que agregaría es la explicación de que hace cada línea, más allá de que está muy claro.
Saludos cordiales.