Der folgende Beitrag wurde am 27. 10. 2011, 21:18 Uhr von Fabricas veröffentlicht.
Hallo Leute
Ich versuche gerade mod_rewrite aus, jedoch gelingt mir dies nicht so ganz :D
Ich möchte, dass aus dieser URL: www.domain.de/newsarchiv/10.html das wird: index.php?site=newsarchiv&id=10
Allerdings speichert mir mod_rewrite newsarchiv/10 in die variable site.
Hier mein .htacces file:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*)\.html$ index.php?site=$1
RewriteRule ^(.*+)/([0-9]+)\.html$ index.php?site=$1&id=$2 [L]
Die erste Regel funktioniert einwandfrei wenn z.B. nur www.domain.de/index.html eingegeben wird.
Könnt ihr mir vielleicht weiter helfen?
Der folgende Beitrag wurde am 28. 10. 2011, 09:29 Uhr von ChrisB veröffentlicht.
Hi,
> Allerdings speichert mir mod_rewrite newsarchiv/10 in die variable site.
Klar, darauf trifft die erste Regel ja auch zu.
> RewriteRule ^(.*)\.html$ index.php?site=$1
> RewriteRule ^(.*+)/([0-9]+)\.html$ index.php?site=$1&id=$2 [L]
>
> Die erste Regel funktioniert einwandfrei wenn z.B. nur www.domain.de/index.html eingegeben wird.
>
> Könnt ihr mir vielleicht weiter helfen?
RewriteRules werden der Reihe nach abgearbeitet.
MfG ChrisB
--
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
Der folgende Beitrag wurde am 28. 10. 2011, 10:10 Uhr von misterunknown veröffentlicht.
Moin,
> RewriteRules werden der Reihe nach abgearbeitet.
Wird nicht aber die _letzte_ zutreffende Regel angewendet!? Mir war so...
Grüße Marco
Der folgende Beitrag wurde am 28. 10. 2011, 12:51 Uhr von dedlfix veröffentlicht.
Hi!
> > RewriteRules werden der Reihe nach abgearbeitet.
Und nicht nur das, der umgeschriebene Request wird intern erneut durch den Apachen geschickt, so dass die Regeln unter Umständen mehrfach zur Anwendung kommen, wenn man nichts dagegen unternimmt (zum Beispiel das Umschreiben nicht auszuführen, wenn der Request auf eine real existierende Datei verweist)
> Wird nicht aber die _letzte_ zutreffende Regel angewendet!? Mir war so...
Nein, denn dann bräuchte man das L-Flag nicht.
Lo!
Der folgende Beitrag wurde am 28. 10. 2011, 10:04 Uhr von misterunknown veröffentlicht.
Moin,
> RewriteRule ^(.*+)/([0-9]+)\.html$ index.php?site=$1&id=$2 [L]
Ich bin mir jetzt nicht ganz sicher, ob mod_rewrite das anders handhabt, aber vom klassischen RegEx her müsste es IMHO folgendermaßen heißen:
> RewriteRule ^([^\/]*)/([0-9]+)\.html$ index.php?site$2&id=$2
Grüße Marco
Der folgende Beitrag wurde am 28. 10. 2011, 10:06 Uhr von misterunknown veröffentlicht.
Moin,
> > RewriteRule ^([^\/]*)/([0-9]+)\.html$ index.php?site$2&id=$2
Selbst das ist gelogen -.-"
So:
RewriteRule ^([^/]*)/([0-9]+)\.html$ index.php?site$2&id=$2
^ da der Slash nicht escaped werden muss.
Grüße Marco
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4