estoy utilizando un sistema de optimización para mis foros phpBB y bueno funciona perfecto creando direcciones no dinamicas con varios scripts y mod-rewrite, pero hay un pequeño problema:
Si por ejemplo el titulo de un post contiene un acento o un caracter especial lo qeu hace modrewrite es eliminar dicho caracter, por ejemplo:
si el titulo es:
La última noche
el link lo deja asi:
la-ltima-noche-vt365.php
es decir elimina la letra ù por que lleva acento, nomal ya uqe las direcciones web no soportan acentos ni caracteres especiales
en definitiva, ¿¿¿puedo conseguir que muestre las palabras sin acentos aunque esos acentos esten en el titulo???
el script que sustituye las direcciones en el header.php es este:
Código PHP:
<?
ob_start();
function make_url_friendly($url)
{
$url = strtolower($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;
}
function rewrite_urls($content)
{
function if_query($amp)
{
if($amp != '')
{
return '?';
}
}
$url_in = array('/(?<!\/)viewforum.php\?f=([0-9]+)((&)|(&)){0,1}([^>]+>)(.*?)<\/a>/e',
'/(?<!\/)viewtopic.php\?t=([0-9]+)((&)|(&)){0,1}([^>]+>)(.*?)<\/a>/e');
$url_out = array("make_url_friendly('\\6') . '-vf\\1.php' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'",
"make_url_friendly('\\6') . '-vt\\1.php' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'");
$content = preg_replace($url_in, $url_out, $content);
return $content;
}
Basicamente es para mejorar el posicionamiento e indexación en google y otros buscadores.
saludos