カスタムメッセージ表示器のように機能するphpファイルがあります。GET でいくつかの変数を渡すと、それに基づいてメッセージが表示されます。また、404 エラー ページとしても機能します。問題は; 移植性のために非常に望ましい相対ErrorDocument参照がありますが、そのファイルにリダイレクトした後は機能しないようです。
ファイルの場所:/a/b/c/custom_message_displayer.php
が次のように設定されている場合httpd.conf:
ErrorDocument 404 /a/b/c/custom_message_displayer.php?e=404
エラーはサブディレクトリから発生します。/a/blah、この場合はアクティブディレクトリであり、リダイレクト先では/a/なく、ファイル内でミスリンクが発生します(相対css、js、include()パス)。/a/b/c/ErrorDocument
追加のファイルを使用する回避策を作成しました。しかし、私はこれについて心配しており、これを行うより簡単な方法があるのではないかと考えています. おそらく、httpd.configActive Directory も変更する ベースのリダイレクトですか?
回避策:
ErrorDocument 404 /additional_file.php→ このファイルは以下を使用してリダイレクトします:
header('Location: /a/b/c/custom_message_displayer.php')GET クエリも保持/転送します。
ファイルはそのディレクトリで実行され、すべての相対リンクが機能します。
上記を行う簡単な方法はありますか?少しでもアドバイスをありがとう。