Martin Bachmann: Nach URL Manipulation Get Parameter übergeben

Hallo alle zusammen,

folgende Vorbedingungen sind gegeben:
Ich habe eine Seite die nur von der index.php gesteuert wird. Wenn ich einen Link habe wie test.html und darauf klicke, werden mittels mod_rewrite die Werte als Getparameter an die index.php gehangen (?seite=test). Und mit diesem Parameter lade ich eine gleichnamige Datei test.php als Inhalt auf die Seite (z.B. im <article>) und drum herum bleibt das vorhandene Design, ohne es ein zweites mal Implementieren zu müssen, denn die Dateien sollen nur Text beinhalten.

folgendes möchte ich haben:
Wenn ich etwa eine Funktion schreibe, die einen Aktivierungslink verschickt, möchte ich ja, dass der Link nicht index.php?seite=test&code=freischalten123 heißt, sondern test.html?code=freischalten123 (Oder wie auch immer) da ich es aus persönlichem Gefühl hässlich finde das mit dem index.php zu haben. Außerdem möchte ich auch nicht, dass jemand weiß das Parameter übergeben werden und vor allem nicht welche möglich sind. Daher habe ich auch eine direkte Umleitung wenn jemand index.php eintippt, direkt zur Hauptseite ohne index.php zurück. Also bevor überhaupt auch ein Wert übergeben werden kann, prüfe ich erstmal welche Datei das ist.

folgendes ist das Problem:
Ich weiß, dass wenn ich eine PHP Datei habe, ich einfach angehangene Parameter via $_GET übernehmen kann. Da es jetzt eine html Datei ist, funktioniert es nicht mehr. Meine Frage ist also, ob eine solche Funktion in irgendeinerweise auch für (manipulierte) HTML Dateien gibt, oder ich mittels $Parameter = explode("code=",$_SERVER["REQUEST_URI"]); echo $Parameter[1]; abfangen?

Da HTML ja eigentlich nicht ausgelegt ist für ausführbaren Code, wird es diesen Befehl nicht geben. Da wir aber in der Welt von mod_rewrite und seiner URL Manipulation schon seit Jahren leben, kann ich vielleicht aber davon ausgehen, dass so ein Problem schonmal bedacht worden ist.

Was wisst ihr dazu?

Gruß,
Martin Bachmann

  1. Wenn ich etwa eine Funktion schreibe, die einen Aktivierungslink verschickt, möchte ich ja, dass der Link nicht index.php?seite=test&code=freischalten123 heißt, sondern test.html?code=freischalten123

    Ich gehe jetzt mal darauf ein, weil ich den Rest nicht ganz kapiert habe. Natürlich kann die html nicht die GET-Parameter interpretieren. Ist auch gar nicht nötig. Der Request wird ja umgeschrieben auf die .php. Damit die weiteren GET-Parameter auch ankommen, versuch mal den Schalter [QSA] in deiner RewriteRule (query string append).
    Das Beispiel kommt dem, was Du machst ziemlich nahe.

    Cheers,
    Baba

    1. Vielen Dank Baba, damit funktioniert es. :)