hi,
Meine .htaccess-Datei sieht etwa so aus:
#-----
ErrorDocument 404 /404.php
#-----Ok, schauen wir mal wie das so abläuft. Der Request sieht so aus:
#---
POST /unreacheable.url HTTP/1.1
Host: $host
Content-Type: application/x-www-urlencoded
Content-Length: $len
Connection: close$content
#---/unreacheable.url gibt es nicht auf dem Server, der wirft einen 404 und zieht Dein Script 404.php an.
Der $content ist serverseitig in STDIN zu finden. Falls es mit PHP die Möglichkeit gibt, STDIN auszulesen (Dein Script 404.php), kommst Du damit an die POST-Daten. Mit Perl funktioniert das einwandfrei, hab ich grad ebend getestet.
Hotti
Ok, das klingt sehr interessant, aber nun habe ich kein Plan, was STDIN ist bzw. wie ich in PHP überhaupt darauf zugreife.
Was ich übrigens eigentlich bezwecken wollte ist folgendes, wozu ich erst auch ein zweites Thema starten wollte: Wer Wikipedia kennt, der weiß bestimmt, dass in der Adresse zum Beispiel "...de/Wikipedia:Hauptseite" stehen kann. "Wikipedia:Hauptseite" kann aber keine existierende Seite auf dem Server sein, weil es einen Doppelpunkt enthält, was soweit ich weiß in Dateinamen nicht erlaubt ist. Außerdem ist auch eine Adresse wie "...de//" problemlos möglich.
Ich habe herausgefunden, dass ich sowas mit einem 404-"Redirect" machen könnte, wo PHP dann die Adresse oben auslesen und auswerten kann. Nur da fehlen mir leider die POST-Daten.
Es ist zwar jetzt Off-Topic, aber falls jemand weiß, wie man sowas wie in Wikipedia macht, wäre mein Problem eigentlich auch schon gelöst. Übrigens: Ich weiß, dass für spezielle Seiten (zum Beispiel zum Bearbeiten) bei Wikipedia eine "richtige" Adresse wie "/index.php" verwendet wird. Möglicherweise machen sie das auch mit 404, doch das konnte ich bisher nicht herausfinden.