sebastianb: .htacces problem subordner

hallo,

für meine seite benutze ich einen .htacces fehlerabfangjäger.
dazu habe ich in meiner .htacces datei folgenden code notiert.

ErrorDocument 400 /error.php?error=400
ErrorDocument 401 /error.php?error=401
ErrorDocument 402 /error.php?error=402
ErrorDocument 403 /error.php?error=403
ErrorDocument 404 /error.php?error=404
ErrorDocument 500 /error.php?error=500

dies funktioniert auch sehr gut.

allerdings includiert meine error.php datei mehrere andere dateien, welche nicht über absolute pfade definiert sind.
diese können auch nicht absolut angegeben werden, da ich sonst alle links der includierten dateien absolut defnieren müsste.

wenn ich nun folgendes in die adresszeile eingebe:
http://www.meineseite.de/irgendwas/nochwas/sdfads
wird die error.php zwar korrekt aus dem root ordner aufgerufen, allerdings scheint die datei error.php aber im verzeichnis /irgendwas/nochwas zu stehen und findet somit die zu includieren dateien nicht.
wenn ich die datei error.php in der .htaccess absolut mir vollständiger uri /http://www.meinseite.de/error.php?error=xxx definiere, erkennt die error.php den $HTTP_REFERER nicht mehr.

gibt es dazu irgendwelche lösungsvorschläge, wahrscheinlich denke ich auch viel zu kompliziert.

danke schon jetzt.
sebastian

  1. wenn ich nun folgendes in die adresszeile eingebe:
    http://www.meineseite.de/irgendwas/nochwas/sdfads
    wird die error.php zwar korrekt aus dem root ordner aufgerufen, allerdings scheint die datei error.php aber im verzeichnis /irgendwas/nochwas zu stehen und findet somit die zu includieren dateien nicht.

    Probiere es mit $_SERVER["DOCUMENT_ROOT"]. Siehe phpinfo(INFO_VARIABLES).

    wenn ich die datei error.php in der .htaccess absolut mir vollständiger uri /http://www.meinseite.de/error.php?error=xxx definiere, erkennt die error.php den $HTTP_REFERER nicht mehr.

    ErrorDocument mit vollständiger, externer URL ist weitestgehend sinnlos, da der Server dann statt einer Fehlermeldung eine Weiterleitung produzieren muß.

    Gruß,
      soenk.e

    1. wenn ich nun folgendes in die adresszeile eingebe:
      http://www.meineseite.de/irgendwas/nochwas/sdfads
      wird die error.php zwar korrekt aus dem root ordner aufgerufen, allerdings scheint die datei error.php aber im verzeichnis /irgendwas/nochwas zu stehen und findet somit die zu includieren dateien nicht.

      Probiere es mit $_SERVER["DOCUMENT_ROOT"]. Siehe phpinfo(INFO_VARIABLES).

      hmm,

      komme da nicht wirklich weiter, habe in der error.php die $_SERVER["DOCUMENT_ROOT"]. eingesetzt, die links sehen nun so aus:
      include($_SERVER["DOCUMENT_ROOT"]. "cms/config.inc.php");

      das problem bleibt aber das gleiche, dass wenn der user einen beliebigen (nicht existenten) ordner einträgt die error.php zwar aufgerufen wird, aber die verknüpfungen nicht stimmen.

      grüße sebastian