Tom: Mod Rewrite, ist es so richtig?

Beitrag lesen

Hello,

ich möchte alle Requests umleiten, für die es keine Ressource gibt
Ich hoffe, dass es so richtig ist und nicht doch irgendwann einen zyklischen Verlauf erzeugt:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f

Bist du sicher, dass du nicht REQUEST_URI verwenden willst? Was ist mit Verzeichnissen (und Symlinks)?

Mit REQUEST_URI funktioniert die Abfrage auf Vorhandensein von Files leider nicht.
Mit REQUEST_FILENAME kann ich zumindest auf existierende Files prüfen und die von der Umleitung ausschließen, was genau erwünscht ist. Symlinks werde ich gleich nochmal ausprobieren.

RewriteRule .* index.php?%{THE_REQUEST}

Und der Query-String?

Es gibt eine CGI-Variable, die den originalen Request enthält (deren Namen du leicht mit print_r($_SERVER) findest). Den Wert kannst du gleich aus $_SERVER lesen, ohne dir $_GET mit nicht zum eigentlichen Request gehörenden Werten zu bevölkern.

Nach der Umleitung ist da aber nix drin, wenn man sie nicht mitliefert. Da ich sowohl die Quasi-Path-Info benötige, als auch den Querystring, habe ich mit den gesamten Request leifern lassen und ihn dann mittles kleiner Funktion selber auseinandergenommen. Das funktioniert zumindest für die GET-Parameter. Ob ich an $_POST dann über PHP herankomme, weiß ich auch noch nicht.

Wenn das nicht klappt, war es wieder einer der berüchtigten Irrwege der EDV :-P

Das ist das Ergebnis des Tests mit POST:

------
GET:

Array
(
    [POST_/forms/anfrage_HTTP/1_1] =>
)

POST:

Array
(
    [data] => Array
        (
            [name] => Fischers Fritze
            [ort] => Sägemühle
        )

[btn] => Array
        (
            [anfrage] => Frage senden
        )

)
-----

$_POST kommt normal an in PHP, $_GET geht leider kaputt, kann man sich aber leicht selber wieder aufbauen. Man muss dann bei der Dekodierung des Request-Strings nur daran denken, dass man mb_parse_str() benutzt bei utf-8 Seiten und nicht pars_str().

Glück Auf

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://restaurant-zur-kleinen-kapelle.de