私は、ErrorDocumentを介してすべてのURIを1ページに変換するソリューションを回避しました。
この背後にある理由は、ファイルとフォルダー(適切なURL)を1つのページに送信するためです。ただし、URI文字列をindex.php?uri=stringに送信する必要があります。これはErrorDocumentを介して可能ですか、またはこれを行うにはどうすればよいですか?
だから私は書き直す必要があります
に
もしそうなら、これはまったく可能ですか?
私は、ErrorDocumentを介してすべてのURIを1ページに変換するソリューションを回避しました。
この背後にある理由は、ファイルとフォルダー(適切なURL)を1つのページに送信するためです。ただし、URI文字列をindex.php?uri=stringに送信する必要があります。これはErrorDocumentを介して可能ですか、またはこれを行うにはどうすればよいですか?
だから私は書き直す必要があります
に
もしそうなら、これはまったく可能ですか?
サーバーがサーバー側インクルード (SSI) をサポートしている場合は、以下404.shtml
を ErrorDocument として使用します。
<html>
<header>
<meta http-equiv="Refresh" content="0; url=/index.php?uri=<!--#echo var="REQUEST_URI" -->">
</header>
</html>
編集: もっと簡単な方法があります: ErrorDocument として PHP ファイルを作成すると、太陽の下で何でもできます! :)
EDIT2: を使用して元の URI にアクセスできます$_SERVER['REQUEST_URI']
EDIT3:index.php
同じホストにリダイレクトするだけの場合は、そのindex.php
ファイルをErrorDocumentとして設定し、リクエストが404エラーからリダイレクトされたかどうかを確認して検出できます$_SERVER['REDIRECT_STATUS'] == '404'