Como posso obter o ErrorDocument no .htaccess para produzir o parâmetro URI errado?
-
20-09-2019 - |
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
para
Isso é possível, se, como?
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'