¿Cómo puedo obtener ErrorDocument en .htaccess para el parámetro uri equivocada de salida?

StackOverflow https://stackoverflow.com/questions/2048888

Pregunta

He trabajado-en torno a la solución de transformar todos los URI de una página a través de ErrorDocument.

La razón detrás de esto es para enviar archivos y carpetas (URLs) agradables a una página. Sin embargo, necesito la cadena URI que se enviará a index.php? Uri = cadena. ¿Es esto posible a través de ErrorDocument, o cómo hago esto?

Así que tengo que volver a escribir el

  

http://www.something.com/games/specific-game

a

  

http://www.something.com/index. php? uri = / juegos / específicas del juego

¿Es esto posible en absoluto, si, ¿cómo?

¿Fue útil?

Solución

Si su servidor soporta el lado del servidor incluye (SSI) a continuación, utiliza la siguiente 404.shtml como su ErrorDocument:

<html>
<header>
<meta http-equiv="Refresh" content="0; url=/index.php?uri=<!--#echo var="REQUEST_URI" -->">
</header>
</html>

EDIT: hay una manera más sencilla: crear un archivo PHP como su ErrorDocument y se puede hacer cualquier cosa bajo el sol en ella! :)

Edit2: puede acceder a la URI original utilizando $_SERVER['REQUEST_URI']

Edit3: diablos, si sólo están a redirigir a index.php en el mismo host, sólo puede establecer ese archivo index.php como su ErrorDocument y detectar si la solicitud se redirige desde 404 error comprobando si $_SERVER['REDIRECT_STATUS'] == '404'

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top