21 octubre, 2024
Las urls amigables o friendly URL son direcciones web fáciles de recordar para el usuario que visita un sitio, se usa para optimizar el posicionamiento web. Las URLs amigables son fundamentales para mejorar la experiencia del usuario y optimizar el SEO de un sitio web
Suscríbete a nuestro canal en Youtube
SuscríbirseEs habitual encontrarnos en Internet noticias sobre posicionamiento web donde se habla de la importancia del uso de URLs amigables (o friendly URL), un término muy utilizado pero que a muchos les puede sonar extraño.
htaccess
Comenzaremos creando o editando el archivo htaccess
en el directorio raíz de nuestra aplicación web. Este archivo le indica al servidor cómo manejar las URLs.
Aquí tienes un ejemplo básico de configuración para reescribir URLs:
apache
RewriteEngine On
# Redirigir URLs amigables
RewriteRule ^producto/([0-9]+)$ producto.php?id=$1 [L,QSA]
RewriteRule ^categoria/([a-zA-Z0-9-]+)$ categoria.php?nombre=$1 [L,QSA]
RewriteRule ^contacto$ contacto.php [L,QSA]
RewriteEngine On
: Activa el motor de reescritura.RewriteRule
: Define las reglas de reescritura para las URLs amigables:
^producto/([0-9]+)$
: Coincide con URLs del tipo producto/123
, donde 123
es el ID del producto.^categoria/([a-zA-Z0-9-]+)$
: Coincide con URLs del tipo categoria/nombre-categoria
.^contacto$
: Coincide con la URL contacto
y redirige a contacto.php
.Ahora, implementaremos la función url_amigables
que convertirá cadenas en slugs amigables para las URLs.
php
function url_amigables($string) {
// Convertir a minúsculas
$string = strtolower($string);
// Definir un array de caracteres especiales y sus reemplazos
$reemplazos = [
'á' => 'a', 'é' => 'e', 'í' => 'i', 'ó' => 'o', 'ú' => 'u',
'ñ' => 'n', 'ü' => 'u', // Puedes añadir más si es necesario
'Á' => 'a', 'É' => 'e', 'Í' => 'i', 'Ó' => 'o', 'Ú' => 'u',
'Ñ' => 'n', 'Ü' => 'u'
];
// Reemplazar caracteres especiales
$string = strtr($string, $reemplazos);
// Eliminar caracteres no alfanuméricos y reemplazar espacios con guiones
$string = preg_replace('~[^a-z0-9]+~', '-', $string);
$string = trim($string, '-'); // Eliminar guiones al principio y al final
return $string;
}
// Ejemplo de uso
$cadena = "Hola, ¿cómo estás? ¡Bienvenido a la programación en PHP!";
$slug = url_amigables($cadena);
echo $slug; // Salida: hola-como-estas-bienvenido-a-la-programacion-en-php
Puedes utilizar la función url_amigables
para generar slugs a partir de títulos de publicaciones o categorías. Por ejemplo:
php
$titulo = "Aprender PHP y Laravel: Guía Completa";
$slug = url_amigables($titulo);
echo $slug; // Salida: aprender-php-y-laravel-guia-completa
Con las URLs amigables y los slugs generados, puedes crear los archivos PHP que manejarán las solicitudes.
producto.php
php
<?php
$id = $_GET['id'];
echo "Mostrando detalles del producto con ID: " . htmlspecialchars($id);
?>
categoria.php
php
<?php
$nombre = $_GET['nombre'];
echo "Mostrando productos de la categoría: " . htmlspecialchars($nombre);
?>
contacto.php
php
<?php
echo "Página de contacto";
?>
Ahora, puedes probar tus URLs amigables en el navegador:
http://tu-dominio.com/producto/123
mostrará los detalles del producto con ID 123.http://tu-dominio.com/categoria/electrodomesticos
mostrará los productos de la categoría "electrodomesticos".http://tu-dominio.com/contacto
mostrará la página de contacto.Leido 7134 veces | 1 usuarios
205 descargas
Para descargar el código crea una cuenta
Crear cuenta© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024