Sven Rautenberg: WICHTIG! Statt Parameter nur URL in der Adressleiste !????

Beitrag lesen

Moin!

ich habe eine PHP-Präsenz mit Hilfe von Parameterübergabe realisiert.
Nun soll jedoch in der Adresszeile für den User nur eine reine URL OHNE Parameter angezeigt werden. Intern sollte jedoch weiter mit den Parametern gearbeitet werden können, um nicht alle Klassen umschreiben zu müssen.
Gibt es eine Möglichkeit, eine "virtuelle" URL in der Adresszeile des Browsers einzufügen und die alte zu esetzen. Wie gesagt. Die Architektur mit Parametern soll / muss erhalten bleiben.
(geht das evtl. direkt mit PHP - oder kann man das mit JS erreichen?)

Die Parameter verstecken geht auf drei Wegen:

1. Frameset um alles drumrum legen. Dafür kriegst du Schläge, weil keiner mehr Unterseiten bookmarken kann, und die Links auf der Seite werden natürlich auch in der Statuszeile angezeigt (die Parameter sind also nicht wirklich versteckt) - wenn du die Statuszeile auch noch umdefinierst, kriegst du noch mehr Schläge, weil die ist mir (und manchen anderen Leuten im Forum) heilig. :)

2. POST-Formulare benutzen. Ist aber ziemlich nervig, weil dann ständig das "Formular wirklich abschicken?"-Fenster nachfragt, und du müßtest alle Links auf Javascript umstellen, die dann "document.formularname.submit()" aufrufen, anstatt ordentliche Links zu sein - die Sache mit der dann relativ sinnlosen Aussage der Statuszeile noch nicht mal mitgerechnet.

3. Du benutzt URL-Rewriting auf dem Server. Das ist so ziemlich die eleganteste und genialste Möglichkeit, deine wahren Parameter in der URL zu verstecken. Aber die ganze Sache wird dadurch unübersichtlich!

Theoretische Vorgehensweise:
Du hast die URL /index/kaffeehaus/gruen/blanko/login/irgendwas

Durch das URL-Rewriting wird diese aber in folgende echte URL umgesetzt:
/index.php?bereich=kaffeehaus&farbe=gruen&formular=blanko&aktion=login&anderedefinition=irgendwas

Deine Links würden dann immer schön zu den "Fake"-URLs gehen, und mit einem festen Schema in Parameter umgesetzt werden.

Wie gesagt: Die Sache kann unübersichtlich werden. Du solltest vor dem Rewriting prüfen, ob nicht eine wahre URL übergeben wurde (z.B. für jede Art von Formular recht wichtig), falls du noch irgendwelche Links vergessen hast, umzuarbeiten.

Mehr Infos zum URL-Rewriting gibt dir die Seite zu "mod_rewrite" in der Apache-Dokumentation.

- Sven Rautenberg