Bueno, pues yo aquí tengo algo que decir y me gustaría que puedan aportar ideas.
El caso es que yo estaba intentando hacer 'urls amigables' con ASP clásico y me quedé estancado después de varias horas y muchísimos intentos. En definitiva con asp clásico el problema radica en que el archivo asignado para el error 404 (pagina no encontrada) no hay una variable de session que recoja el url erróneo (ej:
www.urlejemplo.com/tema/articulo). Puedes pasarlo si estás en un url anterior que se encargue de enviar las variables precisas, pero si se hace desde google o se inserta esa misma ruta en la barra de direcciones será imposible obtener los datos.... ahí terminó mi periplo con ASP.
Al tema, caí en la cuenta que mi servidor windows tiene soporte para php y ví la posibilidad de trabajar con una página de error 404 en php, y haga ese trabajo sucio... así que me puse manos a la obra.
Código :
<?php
//primero recupero la URL SOLICITADA
$URLAmigable = urldecode($_SERVER['REQUEST_URI']);
//***********FILTRANDO ALGUNAS COSITAS
//Ahora tendré que filtrar si se trata de una url realmente no encontrada o si se trata de una redirección.Este paso lo dejo para luego, primero a ver si tengo éxito con la url amigable.
// En las url amigables me devuelve el REQUEST_URI --> /rewrite.php?404;http://www.mipaginaweb.com:80/**VARIABLE1**/**VARIABLE2**
//...como yo sólo quiero quedarme con las variables de la cadena final, quito lo que me sobra
$URLAmigable = str_replace('/rewrite.php?404;http://www.mipaginaweb.com:80/', '', $URLAmigable);
//Ahora sacamos las variables de la cadena (con split) y las montamos en un Array, usamos como separador el caracter /
$variables=split("/",$URLAmigable);
//Todo listo para cargar la url que tiene los datos, en mi caso es algo como esto:
header("Location: /noticia.asp?noticiasde=$variables[0]&ID=$variables[1]");exit;
?>
Desgraciadamente, aunque la redirección la realiza de maravilla, tanto si es desde el enlace que hay en mi index como si es escribiendo la url amigable directamente en el explorador, me hace un redirect donde reemplaza también la dirección, rompiéndose el invento.
Lo que necesito es saber como puedo hacer para que se respete la url amigable en la barra de dirección y carguen los contenidos de la url de destino... En asp está server.Transfer que 'ejecuta' la url de destino, manteniendo activas todas las variables cargadas y demas parámetros.
¿como puedo darle vida al php con esto?