Mod_Rewrite > Fiktive URL

tuFrogs

Mitglied
Ich möchte gern bei einem Projekt mit Mod_Rewrite arbeiten. Habe meinem Provider schon gemailt er möchte das bitte einrichten, damit ich damit arbeiten kann. Eine simple Umleitung zu einer anderen Seite funktioniert. Habe mir bereits einige Beispiele angeschaut und finde einfach den Fehler nicht.

Ich möchte also das:

http://www.meineseite.de/ger/contact/2/0

in das hier umwandeln

http://www.meineseite.de/?language=ger&page=contact&pageid=2&fileid=0

Versucht habe ich es unter anderem mit diesem Code:

Code:
RewriteEngine On
RewriteRule ^([0-9a-zA-Z_]+)/([0-9a-zA-Z_]+)/([0-9]+)/([0-9]+)/?$ ?language=$1&page=$2&pageid=$3&fileid=$4 [L]


Wie ist das eigentlich wenn ich Variablen auslassen will? Zum Beispiel brauche ich die pageid nicht, kann ich das dann so aufrufen: http://www.meineseite.de/ger/contact//0? Oder wäre es besser das so zu machen http://www.meineseite.de/ger/contact/0/0 und die 0 zu ignorieren?
 
Entweder für jedes Schema eine eigene Regel:
Code:
RewriteRule ^([0-9a-zA-Z_]+)/?$ ?language=$1 [L]
RewriteRule ^([0-9a-zA-Z_]+)/([0-9a-zA-Z_]+)/?$ ?language=$1&page=$2 [L]
RewriteRule ^([0-9a-zA-Z_]+)/([0-9a-zA-Z_]+)/([0-9]+)/?$ ?language=$1&page=$2&pageid=$3 [L]
RewriteRule ^([0-9a-zA-Z_]+)/([0-9a-zA-Z_]+)/([0-9]+)/([0-9]+)/?$ ?language=$1&page=$2&pageid=$3&fileid=$4 [L]
Oder eine Regel für alles:
Code:
RewriteRule ^([0-9a-zA-Z_]+)(?:/([0-9a-zA-Z_]+)(?:/([0-9]+)(?:/([0-9]+))?)?)?/?$ ?language=$1&page=$2&pageid=$3&fileid=$4 [L]
Oder du leitest alles auf ein serverseitiges Skript um, das dann die Informationen aus der Anfrage extrahiert.
 
Ich danke dir für deine schnelle Antwort! :)

Serverseitiges Script? Öhm.. :rolleyes:

Werde das nachher gleich mal ausprobieren. Wie läuft das jetzt eigentlich mit eingebetteten Grafiken/CSS-Dateien/JavaScripts? Muss ich da jetzt überall einen absoluten Pfad verwenden? Oder gibts da auch etwas, was es mir erlaubt die eingebundenen Dateien so zu lassen?
 
Entweder du verwendest absolute Pfade/URLs oder du gibst eine Basisadresse an (base-Element), von der aus die relativen Adressen aufgelöst werden. Ich rate dir aber zu ersterem.
 
Hab gerade mal geschaut was dieses base-Element überhaupt ist :suspekt:
Verrätst du mir noch warum du mir davon ab rätst bzw. warum du mir die andere Variante so empfiehlst? Mit dem base-Element würde es doch sicherlich leichter gehen, als wenn ich jedes eingebundene Element bearbeiten muss!?
 
Zurück