mod_rewrite mit PHP simulieren

G

Guest

Guest
Hi,

mein Webspace unterstützt kein mod_rewrite. Weil der Umzug meiner Projekte etwas aufwendig wäre, habe ich mir Gedanken über eine Alternative gemacht. Dabei ist mir die gute alte CGI-Idee über den Weg gelaufen. Dieses Verfahren scheint kaum noch jemand zu nutzen. Da frage ich mich natürlich, warum das so ist und ob es dabei Probleme geben kann.

Wenn ich auf meinem Webspace die folgende Seite aufrufe:
CODE http://www.example.com/phpinfo.php/param1,x/param2,y


Dann kann ich in PHP die folgenden Superglobalen abfragen:

CODE $_SERVER["REQUEST_URI"] = "/phpinfo.php/param1,x/param2,y"
$_SERVER["SCRIPT_NAME"] = "/phpinfo.php"
$_SERVER["PATH_INFO"] = "/param1,x/param2,y"


Es wird also eine PHP-Datei im Pfad aufgerufen (hier phpinfo.php). Die Pathinfo enthält alle Parameter in mod_rewrite-Manier. Daraus die Parameter und Werte zu extrahieren ist nicht schwer.

Was meint ihr, ist das ein akzeptables mod_rewrite-Equivalent, oder übersehe ich etwas?

Werden Suchmaschinen die Seiten trotz der .php-Endung mitten im Pfad normal indizieren?

Wird Adsense damit zufrieden sein?

Gruß, SloMo
 
wenn ich dich nicht falsch verstehe, dann hat deine idee einen entscheidenden fehler: die benötigte datei, welche das zerlegen der url etc übernehmen würde, würde gar nie aufgerufen werden, da der browser *irgendwo* sucht, aber bestimmt nicht im richtigen verzeichnis nach der gewollten datei.
da müsstest du *jeden* link irgendwie abfangen und auf genanntes script umleiten können, und dazu bräuchte man mod_rewrite, wodurch wir wieder am anfang des problems stehen.
wink.gif

oder sehe ich was falsch?
 
QUOTE (Josh @ Do 9.12.2004, 15:03) wenn ich dich nicht falsch verstehe, dann hat deine idee einen entscheidenden fehler: die benötigte datei, welche das zerlegen der url etc übernehmen würde, würde gar nie aufgerufen werden, da der browser *irgendwo* sucht, aber bestimmt nicht im richtigen verzeichnis nach der gewollten datei.

Genau davon bin ich auch immer ausgegangen! Aber das Beispiel oben funktioniert, das habe ich ausprobiert. "phpinfo.php" ist das Skript, das dann den Pfad parsen könnte.

Aber es gibt noch einen anderen Haken an der Sache: Die relativen Pfadangaben müssen korrigiert werden:

Guck mal hier:
www.webmasterforum.ch/index.php/parameter/test

Sorry Forenmeister, konnte nicht widerstehen
wink.gif


Gruß, SloMo

PS: Hab's nicht klickbar gemacht, damit die SuMas diese kaputte Ansicht nicht ausversehen verzeichnen.
 
QUOTE die benötigte datei, welche das zerlegen der url etc übernehmen würde, würde gar nie aufgerufen werden, da der browser *irgendwo* sucht, aber bestimmt nicht im richtigen verzeichnis nach der gewollten datei.


Der Browser denkt nicht Datei-Basiert und "sucht" auf dem Server. Er schickt einfach nur die "REQUEST_URI" und wartet dann, was zurückkommt.
Im folgenden hängt dann die Analyse des Request vollständig vom Server ab. Wenn der dann etwas passendes findet, also die Umleitung auf das php-Skript vornimmt, sollte das ohne Probleme funktionieren.
 
@ slomo:

ich kenne cgi nicht, aber da du es scheinbar so gut abfangen kannst, sehe ich kein problem mit deinem vorhaben. einfach ein paar gute regexes benützen, dann wird das alles zum kinderspiel.
smile.gif

die pfadangaben musst du tatsächlich relativieren, aber auch das sollte keine grosse schwierigkeit sein, wenn du die linkstruktur immer nach bestimmten kriterien aufbaust.

@ ansgar:

ist mir klar.
smile.gif
 
Zurück
Oben