Mittwoch, 29. November 2006

Flickr URLs leichtgemacht

Lange Zeit habe ich mich gewundert, wie Flickr URLs wie

.../photos/emeidi/sets/72157594382685252/

mit mod_rewrite abfängt und an das korrekte Script schickt. Ein Slash und ein Parameter – das geht ja noch relativ locker. Doch was geschieht, wenn der Request unzählige Slashes und Parameter enthält?

Dank einem Digg-Artikel und den dazugehörenden Kommentaren (lustigerweise enthalten die Kommentare mehr Weisheit als der Artikel selbst) scheine ich nun auf der richtigen Spur zu sein:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php [L,QSA]

Erläuterung: Jede Anfrage, die nicht auf ein bestehendes Verzeichnis oder eine bestehende Datei zeigt, wird an index.php weitergereicht. (Nachtrag: Die fettgedruckten Zeichen musste ich einfügen, weil ich bei einem kurzen Test hier auf meinem Testserver immer einen 500er erhalten habe).

Okey, so weit, so gut. Nur noch eine Frage: Müssen die GET-Parameter nun innerhalb des Scripts richtig erkannt und zugeordnet werden?

Also konkret etwas in der Form …

$arr_get_vars = explode('/',$_SERVER['SCRIPT_URL']);

Hmmm – etwas umständlich und sicherheitstechnisch sehr gefährlich! Aber was man für SEF-URLs nicht alles tut …

Weiterführender Link

Unentbehrlich beim zähmen von mod_rewrite: Apache Module mod_rewrite

Liked this post? Follow this blog to get more. 

Tags:
Labels: Uncategorized

Kommentar erfassen