weiterleitung?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17476
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Wenn es ein Verzeichnis nicht existiert, dann ist das ein 404 :o :roll: :wink:
UGC

Beitrag von UGC »

Du tust ja so, als würden wir dein Problem nich verstehen.
DAbei verstehst du uns eher nicht.

Wenn ein Verzeichniss nicht vorhanden ist, ist das der Fehlercode 404!
Auf dieser Seite, die die Standart-404-Fehlerseite ersetzt kommt dann der Code für eine Weiterleitung.

Jetzt verstanden?
Wenn du die 404-Page von dir gemacht hast, kannst du mal bei http://planethtml.de reinsehen.
Die haben da gute Tutorials, wo unter anderem deine Weiterleitung steht.
Benutzeravatar
Asmodiel
Mitglied
Beiträge: 568
Registriert: 31.03.2006 14:16
Wohnort: Kassel
Kontaktdaten:

Beitrag von Asmodiel »

Zusatzfrage:

Wie ich get-teile bearbeiten kann, weiß ich.
$_GET['blubb']

Aber wie kann ich den letzten Teil einer URL per php abfangen?
Schönen gruß, Asmodiel
Linus Thorvals hat geschrieben:Intelligence is the ability to avoid doing work, yet getting the work done.
Benutzeravatar
Underhill
Mitglied
Beiträge: 1180
Registriert: 24.09.2003 11:40
Wohnort: 742 Evergreen Terrace

Beitrag von Underhill »

Hi,

was bedeutet für dich "letzter" Teil?

Aber ich schätze du suchst das:
http://de2.php.net/manual/de/function.parse-url.php


Gruß
Underhill
Benutzeravatar
Asmodiel
Mitglied
Beiträge: 568
Registriert: 31.03.2006 14:16
Wohnort: Kassel
Kontaktdaten:

Beitrag von Asmodiel »

naja, mehr oder weniger.

also da bin ich jetzt rangekommen....

kann mir jemand verraten, wie ich eine 404 mit get versehe?

also bei einem 404 auf 404.php?url=FEHLER_ERZEUGENDE_URL, bzw den pfad /.../.../.../... halt ;P
Schönen gruß, Asmodiel
Linus Thorvals hat geschrieben:Intelligence is the ability to avoid doing work, yet getting the work done.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Das ist denke ich nicht so einfach.

Relativ aufwändig ginge das mit Mod Rewrite, wenn du von Hand alle möglichen Anfragen ausschließt und dann den Rest in einer Art Catchall abfängst.

Code: Alles auswählen

#Catchall
RewriteRule (.*) ^errordocument.php?query=$1
Je nach Anwendung ist das aber vermutlich nicht mehr praktikabel.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Innerhalb der 404.php kannst du auf Variablen wie $_SERVER['REQUEST_URI'] zugreifen, um die ursprünglich aufgerufene URL zu ermitteln.
KB:knigge
Benutzeravatar
area57
Mitglied
Beiträge: 2111
Registriert: 26.12.2005 19:43
Wohnort: Berlin
Kontaktdaten:

Beitrag von area57 »

Moin,

also bei mir klappts so:

htaccess

Code: Alles auswählen

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


test.php

Code: Alles auswählen

$fehlercode=array(							"401" => "401 - login failed - please retry", 
                                    "402" => "402 - unknown error", 
                                    "403" => "403 - acess denied- please retry", 
                                    "404" => "404 - file or url not available", 
                                    "400" => "400 - unknown error", 
                                    "500" => "500 - server error"); 
$extheader = "From: MAIL_ADRESSE\r\n" 
                        ."Content-Type: text/plain; charset=\"iso-8859-1\"\r\n" 
                        ."Content-Transfer-Encoding: 8bit\r\n" 
                        ."Return-Path: MAIL_ADRESSE\r\n" 
                        ."X-Mailer: PHP ".phpversion()." / A//D CMS"; 
$msg = "Error: ".$fehlercode[$_GET['error']]."\n \n"; // Error-Code 
$msg .= "Browser: ".$_SERVER['HTTP_USER_AGENT']."\n \n"; // Verwendeter Browser 
$msg .= "IP-Adresse: ".$_SERVER['REMOTE_ADDR']."\n \n"; // IP-Adresse 
$msg .= "Requested URL: ".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."\n \n"; // URL der Datei die angefordert wurde 
$msg .= "Refering URL: ".$_SERVER['HTTP_REFERRER']."\n \n"; // URL die auf diese Datei verweist 
$msg .= "Seite / Kunde:  \n \n"; 
$msg .= "Fehler hervorgerufen von: ."; 
$mailto = "MAIL_ADRESSE"; // eMail-Adresse des Empfängers 
@mail("$mailto","Error: ".$_GET['error'],"$msg","$extheader"); 
?>
 Sie haben einen Fehler verursacht/gefunden, der Siteadmin bekommt darüber eine <br />
 E-Mail um sich den Fehler anzuschauen.<br />
 Die Nachricht enthält folgenden Inhalt:<br />
<h1>
 <? 
 $msg_ausgabe=  $msg;
  
 $msg_ausgabe = nl2br($msg_ausgabe) ;
 echo $msg_ausgabe;
 echo "</h1>";
vorteil daran ist, dass ich bei ner fehlermeldung gleich ne mail bekomme ;)
und natürlich kann man zum schluss statt der echo ausgabe ne header weiterleitung machen

Windows - Ein Slangebegriff der Indianer: Weißer Mann starrt durch Glasscheibe auf Sanduhr
In a world without walls - Who need's windows and gates???
Benutzeravatar
Asmodiel
Mitglied
Beiträge: 568
Registriert: 31.03.2006 14:16
Wohnort: Kassel
Kontaktdaten:

Beitrag von Asmodiel »

hmm
möglich ist ja auch das abfangen des refferers in der 404.php

aber wie geht das denn?

$_SERVER['HTTP_REFERER'] geht iwie net.
scheint so, als würde meine .htaccess - error 404 keinen referer senden oO
EDIT: ja, mein htaccess schickt keinen referrer!

wie kann ich das problem jetzt angehen oO
Pyramide hat geschrieben:Innerhalb der 404.php kannst du auf Variablen wie $_SERVER['REQUEST_URI'] zugreifen, um die ursprünglich aufgerufene URL zu ermitteln.
Nein, das geht nicht, da das "404.php" ausgibt.
Schönen gruß, Asmodiel
Linus Thorvals hat geschrieben:Intelligence is the ability to avoid doing work, yet getting the work done.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Hast du es mal mit der Datei von area57 versucht? Werden bei dir sämtliche Daten aus $_SERVER nicht angezeigt oder nur Referrer und Request-URI nicht?
KB:knigge
Antworten

Zurück zu „Coding & Technik“