• ベストアンサー

指定ファイルがない場合にどのファイルを目的とされていたか・・・を取得したい。

通常、指定されたファイルが存在しない場合、404のエラーになると思いますが、もともと、どのファイルを指定されていたかそのファイルのアドレスを何らかの形で取得はできないものでしょうか? PHPでお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mpx
  • ベストアンサー率71% (149/209)
回答No.2

>> 何が違うのでしょうか? apacheのバージョンまたはエラー時のページ指定が原因でしょうが REDIRECT_系の環境変数が設定されない環境のようなので  $_SERVER["REQUEST_URI"] で試してみてください それでもダメなら、phpinfo()で使えそうな環境変数を探す

tss_jp
質問者

お礼

$_SERVER["REQUEST_URI"]で取得することが可能でした。 どうもありがとうございました。

その他の回答 (1)

  • mpx
  • ベストアンサー率71% (149/209)
回答No.1

>> どのファイルを指定されていたかそのファイルのアドレスを >> 何らかの形で取得はできないものでしょうか? WEBサーバー側の設定変更できる権限をお持ちなら可能です まず、サーバー側の設定(httpd.conf または .htaccess)にて 以下のように404エラー時の表示ページを設定します ErrorDocument 404 /hogehoge/error404.php そのerror404.phpにて下記スクリプトを組んでおけば$urlにて取得可能です $url=$_SERVER['REDIRECT_URL'];

tss_jp
質問者

補足

こんにちは、ありがとうございます。 404.phpに次のように記述しました。 echo $_SERVER['HTTP_HOST']; echo $_SERVER['REDIRECT_URL']; HTTP_HOSTは出力されるのですが、REDIRECT_URLは白紙です。 何が違うのでしょうか? よろしくお願いします。

関連するQ&A