Como crear URL amigables con PHP
Como ya he comentado en anteriores artículos, es muy importante para el posicionamiento de una página web que todas sus URL sean amigables. Hace un par de días escribí un post donde os explicaba cómo crear URL amigables con .htaccess, en este artículo explicaremos la manera de crear URL amigables con PHP.
Si te ha gustado el artículo sobre Crear URL amigables con PHP puedes colaborar visitando a alguno de nuestros patrocinadores, con esto me ayudarás a mantener el Blog y pueda escribir más artículos.
1) Crear la función url_amigables()
La función url_amigable recibe como parámetro el título de un artículo y realiza las siguientes operaciones:- Transformar el título en minúsculas con strtolower()
- Quita acentos, sustituimos la ñ con str_replace()
- Reemplaza caracteres especiales por guiones y eliminamos caracteres raros con preg_replace()
<?php
function urls_amigables($url) {
$url = strtolower($url);
$find = array('á', 'é', 'í', 'ó', 'ú', 'ñ');
$repl = array('a', 'e', 'i', 'o', 'u', 'n');
$url = str_replace ($find, $repl, $url);
$find = array(' ', '&', '\r\n', '\n', '+');
$url = str_replace ($find, '-', $url);
$find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
$repl = array('', '-', '');
$url = preg_replace ($find, $repl, $url);
return $url;
}
?>
2) Cambiar las URL con Mod Rewrite
Editamos nuestro fichero .htaccess y escribimos el siguiente código:RewriteEngine on
Rewriterule ^articulo/(.+)/(.+) articulo.php?id =$1&title=$2
3) Cambiar los links dinámicamente
Esto lo conseguimos con el siguiente código:// La variable del título de la noticia
$url = "Este es un título";
// mostramos el titulo editado
// echo urls_amigables($url);
// mostramos la url terminada
echo “http://tu.sitio.web/articulo/”.$id.”/”.urls_amigables($url).”/”;
Si te ha gustado el artículo sobre Crear URL amigables con PHP puedes colaborar visitando a alguno de nuestros patrocinadores, con esto me ayudarás a mantener el Blog y pueda escribir más artículos.
ARTÍCULOS QUE TE PUEDEN INTERESAR
Cómo guardar la configuración de una red wifi en Windows 7Cómo abrir puertos windows 7
Atajos de teclado de Windows
Windows 7 no muestra la fecha