Avatar billede tif12345 Nybegynder
15. november 2005 - 20:24 Der er 6 kommentarer og
1 løsning

Brug af mod_rewrite - nogle rewrites påvirkes af andre ?

Jeg har et lille problem når jeg prøver at rewrite noget og jeg forstår trods tidligere hjælp ikke helt hvorfor at dette sker.

Jeg har 3 følgende rewrites; (parentes skal ignoreres - bruger det blot til at beskrive den specifikee rewrite)

RewriteRule ^([^./]+)/([^./]+)/([^./]+)-([^./]+).html$ viewc.php?platform=$1&type=$3&game=$2&typeid=$4 [L] (1)
RewriteRule ^([^./]+)/([^./]+)/([^./]+).html$ viewc.php?platform=$1&type=$3&game=$2 [L] (2)
RewriteRule ^([^./]+)/([^./]+)/([^./]+).html$ viewr.php?platform=$1&game=$2&type=$3 [L] (3)

Problemet er at når jeg smider rewrite (3) op som den første rewrite, så påvirker den de andre to - så når jeg går ind på .php filen for de andre to, så smides jeg hen til den .php fil rewrite (3) fører til.

Smider jeg rewrite (3) sidst, så virker de andre to rewrites helt fint, men så virker rewrite 3 ikke og føres til en af de andre.

Jeg forstår ikke helt hvorfor dette sker?

Er det fordi selve RewriteRule'n ligner hinanden? De linkes jo til forskellige .php filer, så det gir jo ingen mening??

Help please :)
Avatar billede erikjacobsen Ekspert
15. november 2005 - 20:39 #1
Hvordan skal den kunne skelne mellem (2) og (3) ? Kan du give eksempler på de URL-er du skal have gjort noget ved?
Avatar billede tif12345 Nybegynder
15. november 2005 - 20:49 #2
(2) kunne være;
viewc.php?platform=pc&type=ceh&game=quake4 [L] (2)

(3) kunne være;
viewr.php?platform=pc&game=fear&type=rev [L] (3)

selve .php filerne er jo også forskellige - burde det ikke være nok til at adskillige rewriten? Men den forskel der nu også ville være imellem de to er, at $type ville aldrig være ens.
Avatar billede erikjacobsen Ekspert
15. november 2005 - 20:51 #3
Nej, du skal fortælle hvordan de URL-er du skal have gjort noget ved, altså rewrites, ser ud. Du har skrevet præcis det samme ved (2) og (3). Hvordan skal den vide hvad den skal vælge, når det er helt ens?
Avatar billede erikjacobsen Ekspert
15. november 2005 - 20:51 #4
(jo, det ved den godt - den tager den første der passer til mønstret....)
Avatar billede tif12345 Nybegynder
15. november 2005 - 21:09 #5
Ok, tror jeg er begyndt at forstå det, det nu også kun anden gang du fortæller mig det samme .. Man er vel lidt tykhovedet :)

Tak for hjælpen
Avatar billede erikjacobsen Ekspert
15. november 2005 - 21:10 #6
Sikkert. Man kan jo lave sine url-er som man vil, så eeen måde at gøre det på ku' være

RewriteRule ^hest/([^./]+)/([^./]+)/([^./]+).html$ viewc.php?platform=$1&type=$3&game=$2 [L] (2)
RewriteRule ^kannibal/([^./]+)/([^./]+)/([^./]+).html$ viewr.php?platform=$1&game=$2&type=$3 [L] (3)
Avatar billede tif12345 Nybegynder
07. december 2005 - 12:08 #7
Jeg siger tak for hjælpen endnu engang .. Jeg vil hermed lukke spørgsmålet :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester