Christian Seiler: Mod Rewrite - Rewrite MAP geht nur beim 1, mal ...

Beitrag lesen

Hallo eddi,

(klar, man kriegt das schon irgendwie hingetrickst,

Nicht nur igendwie, sondern ganz sauber und passabel.

Nur, wenn Du folgendes voraussetzt:

Resourcen, auf die eine PHP-gesteuerte Requestumformatierung nicht angewendet werden soll, verweisen schlichtweg auf ein anderes Verzeichnis.

(wirklich nicht böse gemeint:) ich kennte die Direktive AliasMatch und kann auch mir ihr umgehen.

Ich sagte ja, "man kriegt das schon irgendwie hingetrickst". AliasMatch ist btw. nur in der zentralen Serverkonfiguration erlaubt. Und wenn Du mit AliasMatch um Dich wirfst, mag das vielleicht ein paar CPU-Zyklen schneller sein, allerdings ist die Lösung in meinen Augen deutlich weniger "straight-forward" als mod_rewrite - und deswegen IMHO auch schlechtbar wartbar.

Allerdings ist der Witz an URL-Umschreibungen ja gerade der, dass man sich die URLs komplett selbst aussuchen kann (so dass sie möglichst sinnvoll sind) und sich *danach* überlegt, wie man das serverseitig umsetzt - wenn Du das obige voraussetzt richtest Du die URLs ja nach technischen Gegebenheiten - was ja dem Paradigma, warum man überhaupt URL-Umschreibungen macht, widerspricht.

Eine URL wird durch einen beliebig wählbares Sufix (in der Form "%{begriff}/") nicht sinnlos, es ersparte einem nur zusätzliche Module.

Das ist also kein Argument.

Ich sagte nicht, dass sie _sinnlos_ wird. Ich sagte nur, dass Du auf Grund von ein paar eingesparten CPU-Zyklen (vergiss bitte nicht: wenn Du nichts wirklich blödes anstellst, ist mod_rewrite trotzdem *sehr* schnell) das Paradigma zumindest teilweise über den Haufen wirfst, das überhaupt der Grund für die ganze Veranstaltung ist. Ich will auch nichts *grundsätzlich* gegen die Lösung mit PATH_INFO sagen, sie ist genau dann sinnvoll, wenn man bestimmte "Verzeichnisse" hat, unter denen man *alle* Pfade durch PHP verarbeiten lassen will (nach dem Schema RewriteRule verzeichnis/.* irgendwas.php) *oder* aber man kein mod_rewrite zur Verfügung hat (Hoster hat das nicht), PATH_INFO jedoch funktioniert. Wenn man allerdings kompliziertere Patterns hat, dann sehe ich nicht, warum man mod_rewrite nicht verwenden sollte und zwangsläufig sich entweder verausgaben muss, um das mittels PATH_INFO sauber hinzubekommen oder sein URL-Schema doch ändert, um der technischen Gegebenheit zu folgen.

Viele Grüße,
Christian

--
"I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup