Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Moin!

Hab mal wieder ein mir unerklärliches PHP-Problem. Ich möchte eine 404-Fehlerseite bauen, die mir die REQUEST_URI und den HTTP_REFERER per Mail versendet, damit ich weiß, auf welcher Seite der falsche Link steht (wenn es denn ein falscher Link ist). Die REQUEST_URI funzt auch problemlos, aber den Referer bekomme ich einfach nicht... Egal, wie ich die Variable anspreche, sie bleibt leer.

Ich hab schon folgendes versucht:

$_SERVER('HTTP_REFERER');

getenv('HTTP_REFERER');

$HTTP_REFERER;

Alles erfolglos...

Auch iner Apache- bzw. PHP-Konfiguration hab ich schon herumgeguckt, aber ohne einen Ansatzpunkt zu finden...

Woran könnte es denn liegen, daß der Referer leer bleibt (mal abgesehen davon, daß man von garkeiner Seite kommt, sondern die URL direkt eingegeben hat)? Und gibt es sonst noch andere Variablen, die die Seite angeben, von der man kommt?

thx für alle Tips!

Geschrieben

@Jaraz: thx, aber das war's nicht - war mal wieder eigene Blödheit... - das Problem wäre soweit gelöst.

Wegen der Problematik, daß der Referer teilweise nicht gesendet wird: OK, wenn nicht, hab ich Pech gehabt, aber es ist immerhin die einzige Möglichkeit, sinnvoll festzustellen, auf welcher Seite jemand den fehlerhaften link gefunden hat...

Jetzt ist mir dummerweise allerdings ein anderes Problem aufgefallen - 404-Seiten funzen ja garnicht für PHP-Scripte (weder auf dem Apache noch auf dem IIS)... - gibt's eine Möglichkeit auf beiden Servern, auch für Seiten mit der Endung php die 404-Fehler zu verwenden?

Geschrieben
Original geschrieben von DanielH

Hi,

zumendest die Ausgabe des referers läuft bei mir so:

echo $HTTP_SERVER_VARS["HTTP_REFERER"];

ist $_SERVER nicht eigentlich ein Array ?

MfG

$_SERVER ist seit PHP 4.1 eigentlich die Kurzform von $HTTP_SERVER_VARS - damit kann man halt schneller auf die Variablen zugreifen... Genauso kann man mit $_SESSION z.B. Session-Variablen direkt ansprechen und ändern ohne sie per session_register etc zu setzen...

Geschrieben
Original geschrieben von beetFreeQ

Jetzt ist mir dummerweise allerdings ein anderes Problem aufgefallen - 404-Seiten funzen ja garnicht für PHP-Scripte (weder auf dem Apache noch auf dem IIS)... - gibt's eine Möglichkeit auf beiden Servern, auch für Seiten mit der Endung php die 404-Fehler zu verwenden?

Beim Apachen in der httpd.conf oder in der entsprechenden .htaccess Datei folgende Zeile angeben oder ändern: ErrorDocument 404 /missing.php

Gruß Jaraz

Geschrieben
Original geschrieben von Jaraz

Beim Apachen in der httpd.conf oder in der entsprechenden .htaccess Datei folgende Zeile angeben oder ändern: ErrorDocument 404 /missing.php

Gruß Jaraz

Hab ich. Wenn ich als Link eine normale HTML-Datei hab, die nicht vorhanden ist, werde ich auch problemlos auf die 404-Seite geleitet. Bei einer PHP-Seite bekomme ich aber den "Internat Server Error"... - und unterm IIS hab ich immer folgende Meldung: "Warning: Failed opening 'D:\webprojekte\test\test.php' for inclusion (include_path='.;c:\php4\pear') in Unknown on line 0" - dabei wird da eigentlich nichts inkludiert...

Geschrieben
Original geschrieben von beetFreeQ

$_SERVER ist seit PHP 4.1 eigentlich die Kurzform von $HTTP_SERVER_VARS - damit kann man halt schneller auf die Variablen zugreifen... Genauso kann man mit $_SESSION z.B. Session-Variablen direkt ansprechen und ändern ohne sie per session_register etc zu setzen...

ist klar, ich meinte nur dein erstes Posting, wo du über $_SERVER('bla') arbeitest, das funzt bri mir immer nur mit eckigen Klammern, ich lasse mich da aber gerne eines besseren belehren :)

Geschrieben
Original geschrieben von DanielH

ist klar, ich meinte nur dein erstes Posting, wo du über $_SERVER('bla') arbeitest, das funzt bri mir immer nur mit eckigen Klammern, ich lasse mich da aber gerne eines besseren belehren :)

Oops... :rolleyes: :rolleyes: - meinte auch die eckigen ;)...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...