カスタムメッセージ表示器のように機能する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.config
Active Directory も変更する ベースのリダイレクトですか?
回避策:
ErrorDocument 404 /additional_file.php
→ このファイルは以下を使用してリダイレクトします:
header('Location: /a/b/c/custom_message_displayer.php')
GET クエリも保持/転送します。
ファイルはそのディレクトリで実行され、すべての相対リンクが機能します。
上記を行う簡単な方法はありますか?少しでもアドバイスをありがとう。