- ベストアンサー
指定ファイルがない場合にどのファイルを目的とされていたか・・・を取得したい。
通常、指定されたファイルが存在しない場合、404のエラーになると思いますが、もともと、どのファイルを指定されていたかそのファイルのアドレスを何らかの形で取得はできないものでしょうか? PHPでお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>> 何が違うのでしょうか? apacheのバージョンまたはエラー時のページ指定が原因でしょうが REDIRECT_系の環境変数が設定されない環境のようなので $_SERVER["REQUEST_URI"] で試してみてください それでもダメなら、phpinfo()で使えそうな環境変数を探す
その他の回答 (1)
- mpx
- ベストアンサー率71% (149/209)
回答No.1
>> どのファイルを指定されていたかそのファイルのアドレスを >> 何らかの形で取得はできないものでしょうか? WEBサーバー側の設定変更できる権限をお持ちなら可能です まず、サーバー側の設定(httpd.conf または .htaccess)にて 以下のように404エラー時の表示ページを設定します ErrorDocument 404 /hogehoge/error404.php そのerror404.phpにて下記スクリプトを組んでおけば$urlにて取得可能です $url=$_SERVER['REDIRECT_URL'];
質問者
補足
こんにちは、ありがとうございます。 404.phpに次のように記述しました。 echo $_SERVER['HTTP_HOST']; echo $_SERVER['REDIRECT_URL']; HTTP_HOSTは出力されるのですが、REDIRECT_URLは白紙です。 何が違うのでしょうか? よろしくお願いします。
お礼
$_SERVER["REQUEST_URI"]で取得することが可能でした。 どうもありがとうございました。