mmofacts.com

Mapping statischer Adressen auf dynamische Seiten per Mod_Rewrite?

gepostet vor 16 Jahre, 9 Monate von DrakeL
Hi,
hab bisschen etwas gelesen über Mod_Rewrite und bisher nur soviel verstanden, dass ich per Regex eine statisch aufgerufene URL auf eine Dynamische Seite umleiten kann.
Mich würde aber viel mehr interessieren, ob dies auch mit festen Maps möglich ist. Zum Beispiel:
startseite.html = index.php?page=startseite

irc.html = index.php?page=kontakt&suppage=irc
Ist dies möglich? Also im Prinzip wie ein Array mit Key Value Paaren zu arbeiten wo die eine URL in eine feste andere URL umgeleitet wird? Vor allem würde mich derzeit interessieren, ob das überhaupt geht, wenn ja und jemand Zeit hat kann er auch schreiben (oder einen Link geben wo man sieht) wie es geht, aber das ist für mich derzeit noch Nebensache.
gepostet vor 16 Jahre, 9 Monate von DrakeL
Ha, manchmal überlese ich doch die einfachsten Dinge. Hab ein Beispiel gefunden, wo so etwas gemacht wird. Nur ist mir bei dem Code nicht das $ - Zeichen schlüssig, ob das wichtig ist bzw. wofür dieses steht.
RewriteEngine on

RewriteRule index.html$ index.php
gepostet vor 16 Jahre, 9 Monate von Amun Ra
RewriteRule ^([a-z-]+)/([0-9]+)/$ category.php?category_name=$1&page_id=$2 [L]
bla/1/ -> category.php?category_name=bla&page_id=1
Dabei steht das ^ für den Anfang und $ für das Ende der URL.
Weiss nicht ob das jetzt 100% korrekt erklärt ist,
aber so ungefähr müsste das stimmen.
gepostet vor 16 Jahre, 9 Monate von Dexus
www.modrewrite.de/
de.selfhtml.org/servercgi/server/rewrite.htm
da gibt es wirklich gute Hilfe zu Mod Rewrite.
Amun Ra ja soweit hast du recht
wenn du mit GET daten übergibst solltest du noch QSA ([L,QSA]) setzen.
Solltest du Besehende Datein auf eine andere Weiterleiten
z.b.
index.php?sec=login würde ich z.b. so machen, wenn login vorher z.b. login.php war:
login.php login.html auf solltest du [R=301,L,QSA] setzen.
rew... ^login.php$ login.html [R=301,L,QSA]
und noch ein Edit -.-
Original von DrakeL

Ha, manchmal überlese ich doch die einfachsten Dinge. Hab ein Beispiel gefunden, wo so etwas gemacht wird. Nur ist mir bei dem Code nicht das $ - Zeichen schlüssig, ob das wichtig ist bzw. wofür dieses steht.
RewriteEngine on

RewriteRule index.html$ index.php
damit du keinen Fehler erhälst würde ich wenn dann folgendes machen:
RewriteEngine on

RewriteRule index\.html$ index.php
vor allem aber dann wenn du sowas machst:
RewriteEngine on

RewriteRule (.*)\.html$ index.php
gepostet vor 16 Jahre, 9 Monate von DrakeL
Original von Dexus
www.modrewrite.de/

Die Seite hab ich dann später erst gefunden, die ist aber wirklich gut.
Original von Dexus

wenn du mit GET daten übergibst solltest du noch QSA ([L,QSA]) setzen.
Was das? Also ganz grob, hab dazu nichts auf die schnelle gefunden.
Original von Dexus

vor allem aber dann wenn du sowas machst:
RewriteEngine on

RewriteRule (.*)\.html$ index.php
Müsste dann nicht bei "index.php" auch nen Slash beim Punkt sein?
gepostet vor 16 Jahre, 9 Monate von DrakeL
Jep, hab ich im nachhinein auch gemerkt. Meine "DAU" Anfrage darf daher gern in Spam oder Lobby verschoben werden.

Auf diese Diskussion antworten