1

私は、ErrorDocumentを介してすべてのURIを1ページに変換するソリューションを回避しました。

この背後にある理由は、ファイルとフォルダー(適切なURL)を1つのページに送信するためです。ただし、URI文字列をindex.php?uri=stringに送信する必要があります。これはErrorDocumentを介して可能ですか、またはこれを行うにはどうすればよいですか?

だから私は書き直す必要があります

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

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

もしそうなら、これはまったく可能ですか?

4

1 に答える 1

2

サーバーがサーバー側インクルード (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'

于 2010-01-12T12:44:21.547 に答える