PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [dringend] Frage zu mod_rewrite


Schnibbi
08.06.2005, 17:29:28
Ich habe schon endlos lange gebastelt aber irgendwie passt es zum schluss doch nicht so wie ich will.

Ich brauche eine Regel die folgendes macht:

Ich gebe eine beliebige URL ein, zb www.domain.de/software
Das Verzeichnis software ist nicht vorhanden, jedoch soll die Anfrage weitergeleitet werden an www.domain.de/index.php?content=software
Natürlich soll nicht nur software erreichbar sein, sondern jedes beliebige (nicht-existente) Unterverzeichnis.

Ist das in irgendeiner Form möglich?

c4
08.06.2005, 17:32:16
Stichwort mod_rewrite:
mod_rewrite
--> http://selfphp.info/forum/showthread.php?threadid=5063

Suchmaschinenfreundlichkeit
--> http://selfphp.info/forum/showthread.php?threadid=4806

Schnibbi
08.06.2005, 18:29:03
Ich habs jetzt mal soweit hingebastelt, dass immer bei nicht "Standardendungen" weitergeleitet wird.

RewriteRule !(jpg|png|css|html|php)$ /test.php

Das geht ja soweit. Wie teile ich der test.php jetzt mit, welches Verzeichnis der Aufruf in sich hatte?

c4
08.06.2005, 18:42:26
Du kannst es nur als Parameter übergeben.

Schnibbi
08.06.2005, 18:45:24
Ist ja klar...

RewriteRule !(jpg|png|css|html|php)$ /test.php?content=$1

nicht wahr? Aber wo setze ich die Variable $1?

c4
08.06.2005, 18:50:10
$1-$n enthalten die Werte aus den Klammern bei den Bedingungen, also momentan müsste es die Dateiendung enthalten. Einfach vorher mit einer anderen Klammer das Verzeichnis regexen und das dann anhängen.

Schnibbi
08.06.2005, 19:09:22
RewriteRule (.*)\.!(jpg|png|css|html|php)$ /test.php?var=$1

kommt nur Fehler 404 bei Aufruf www.domain.de/12345

xabbuh
08.06.2005, 20:41:55
RewriteRule (.*)\.!(jpg|png|css|html|php)$ /test.php?var=$1
Probier es mal so:

RewriteRule ^(.*)\.!(jpg|png|css|html|php)$ /test.php?var=$1

Schnibbi
08.06.2005, 20:44:16
RewriteRule !(jpg|png|css|html|php)$ http://www.normanbauer.com/uri/index.php?id=%{REQUEST_URI} [R]

So funktionierts ;)