Mailinglisten-Archive |
Hallo, Am Dienstag, 8. Mai 2007 schrieb Jens Giessmann: > On Tue, May 08, 2007 at 08:59:23AM +0200, LB BL wrote: > > ich möchte mit mod_rewrite url's umschreiben, stosse dabei jedoch > > auf folgendes "problem": > > Mach es "andersrum", d.h. packe nicht alle deine variablen URLs in > einzelne Rules, sondern nehme "nur" alles was direkt ausgeliefert > werden kann aus und leite nur noch den Rest an ein Script weiter das > den Request prueft und ggfs. die entspr. Seite ausliefert: > > Bsp: > --------------------------------schnipp----------------------------- > RewriteEngine On > # diese Regeln fangen die stat. Inhalte der Seite ab. Bilder, CSS,... > RewriteRule ^/images/ - [L] > RewriteRule ^/css/ - [L] > # Alles was direkt an die index.php geht kann auch 1:1 raus > RewriteRule ^/index.php - [L] > # Der ganze Rest, also jede andere beliebige URL wird weitergeleitet > RewriteRule ^/(.*) /prod_parser.php > --------------------------------schnapp----------------------------- > > Wenn jetzt eine Anfrage der Art kommt: > www.domain.de/produktAbkuerzungAusDB/produktNameAusDB.html > > Kannst du in prod_parser.php die angefragte URL anhand von den > $_SERVER[*] Werten auseinander nehmen, pruefen ob du das passende > Produkt in der DB hast, wenn ja, dieses anzeigen, ansonsten Umleitung > auf eine 404 Seite. ich muß hierzu einmal kurz einhaken. :-) Jens hat seinen Lösungsansatz erstmals vor ca. zwei Jahren auf der Liste vorgestellt: http://lists.phpbar.de/pipermail/php/Week-of-Mon-20050606/018692.html Ich fand den Ansatz, obwohl ich ein Freund statischer Seiten bin, sehr interessant und habe mir das bis letztes Jahr im Hinterkopf behalten, weil das Vorgenerieren statischer Seiten hinsichtlich Flexibilität und Skalierung auch seine Grenzen hat. In der zweiten Jahreshälfte 2006 habe ich meine Website dann auf Jens' Lösung umgestellt, allerdings darüber hinaus kombiniert mit dem Smarty-Cache, wobei die Cache-ID aus der URL gebaut wird. Auf diese Weise kombiniere ich die Vorteile von Jens' Lösung mit den Vorteilen statischer Seiten. Ist eine Seite erst einmal im Smarty-Cache, kann ich sogar die Datenbank abschalten und die Seite kommt immer noch. Nur eine Seite, die nicht im Cache ist, kann dann nicht ausgeliefert werden. Kurz gesagt: Ich finde Jens' Lösung genial. Das habe ich ihm auch letztes Jahr per PM geschrieben. ;-) Wer sich einmal ansehen möchte, wie das Ganze umgesetzt nach außen aussieht, kann einmal auf meiner Website gucken: http://www.sea-rescue.de/ Bei Interesse kann ich auch gerne erläutern, wie ich das konkret umgesetzt habe. :-) Viele Grüße Lutz
php::bar PHP Wiki - Listenarchive