Pergunta

Eu trabalhei-a solução para transformar todos os URI em uma página via ErrorDocument.

A razão por trás disso é enviar arquivos e pastas (URLs agradáveis) para uma página. No entanto, preciso que a string URI seja enviada para index.php? Uri = string. Isso é possível via ErrorDocument, ou como faço isso?

Então eu preciso reescrever o

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

para

http://www.something.com/index.php?uri=/games/specific-game

Isso é possível, se, como?

Foi útil?

Solução

Se o seu servidor suportar o lado do servidor incluir (SSI), você usa o seguinte 404.shtml Como seu ErrorDocument:

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

EDIT: Existe uma maneira mais simples: crie um arquivo PHP como seu ErrorDocument e você pode fazer qualquer coisa sob o sol! :)

Edit2: você pode acessar o URI original usando $_SERVER['REQUEST_URI']

Edit3: Heck, se você está apenas redirecionando para index.php No mesmo host, você pode simplesmente definir isso index.php Arquivo como o seu ErrorDocument e detecte se a solicitação é redirecionada do erro 404, verificando se $_SERVER['REDIRECT_STATUS'] == '404'

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top