http://www.baluart.net/articulo/urls-amigables-con-php
Lo tengo y me funciona bien pero con Internet Explorer 6 se me cuelga en cuanto le paso mas de un parámetro.
Ej
www.misitio.com/parametro1 //funciona OK
www.misitio.com/parametro1/parametro2 //se cuenga el IE6
Alguien sabe como solucionarlo?
Me es imprescindible el segundo parametro.
Por desgracia me insisten en que "por huevos" debe de ser compatible con IE6.
Le he dado mil vueltas y estoy seguro de que el cuelgue es por las URLs amigables y no por el HTML.
Saludos
.htaccess
Código:
DirectoryIndex /carpeta/errorpage.php <ifmodule mod_rewrite.c> RewriteEngine On #Si la url solicitada no es un fichero(existente), continuar... RewriteCond %{REQUEST_FILENAME} !-f #Si la url solicitada no es una carpeta(existente), continuar... RewriteCond %{REQUEST_FILENAME} !-d #se toma todo ese -query_string- y se pasa como parametro route RewriteRule ^(.*)$ controlador.php?route=$1 [L,QSA] </ifmodule>
controlador.php
Código PHP:
function limpiar($valor)
{
//permitimos solo letras(a-Z), numeros y guiones
return preg_replace('/[^a-zA-Z0-9-_]/', '', $valor);
}
function getVariables($url)
{
//quitamos la barra del final
$url = preg_replace('/\/$/', '', $url);
//separamos las partes de la url
$partes = explode('/', $url);
$opcion = limpiar(explode("/",urldecode($url)));
return $opcion;
}
$opcion = getVariables($_GET['route']);
/*
$opcion[0] de queda con el valor del primer parámetro
$opcion[1] de queda con el valor del segundo parámetro
Y bueno en función de los valores del vector $opcion voy generando las páginas
*/