Avatar billede lillebror Nybegynder
07. december 2005 - 18:49 Der er 3 kommentarer og
1 løsning

Mod_rewrite problem

Hejsa

Jeg har et mod_rewrite script, der skal sørge for at konvertere en adresse til nogle $_GET variable. Problemet er bare, at når der eksisterer en mappe så omskriver den alligevel... og det til trods for linien
RewriteCond %{REQUEST_FILENAME} !-F
Ud over det har jeg en RewriteCond mere, der ser sådan ud:
RewriteCond %{THE_REQUEST} !content
Som jeg ikke ved hvad gør. Efter den kommer der en ordentlig stak rewriterule's som virker helt som de skal, til trods for at de ikke tager højde for mapperne
Jeg har 7 rewriterules fordi den skal kunne klare at omskrive en sti til helt op til 7 variable

Hvordan undgår jeg at den omskriver en sti, hvor man forsøger at åbne en eksisterende mappe?
Avatar billede lillebror Nybegynder
07. december 2005 - 18:55 #1
For en god ordens skyld, får i lige koden.
ewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-F
RewriteCond %{THE_REQUEST} !content

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/$ /index.php?page1=$1&page2=$2&page3=$3&page4=$4&page5=$5&page6=$6&page7=$7 [qsappend]

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/$ /index.php?page1=$1&page2=$2&page3=$3&page4=$4&page5=$5&page6=$6 [qsappend]

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/$ /index.php?page1=$1&page2=$2&page3=$3&page4=$4&page5=$5 [qsappend]

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/$ /index.php?page1=$1&page2=$2&page3=$3&page4=$4 [qsappend]

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$ /index.php?page1=$1&page2=$2&page3=$3 [qsappend]

RewriteRule ^([^/]+)/([^/]+)/$ /index.php?page1=$1&page2=$2 [qsappend]

RewriteRule ^([^/]+)/$ /index.php?page1=$1 [qsappend]


Hvis der findes en anden og smartere måde at gøre ovenstående på, er jeg lutter øre, også hvis det er en løsning der gør, at man kan også kan undgå at skrive den sidste slash
Avatar billede htm Nybegynder
12. december 2005 - 21:46 #2
Prøv og tilføj følgende efter din første rewritecond.

RewriteCond %{REQUEST_FILENAME} !-d

Den tjekker for biblioteker.

Din slash i enden kan du komme væl med ved at sætte et spørgsmålstegn i slutningen lige før $.
eks:
RewriteRule ^([^/]+)/?$ /index.php?page1=$1 [qsappend]

? betyder 0 eller 1 gentagelser af foregående tegn.

Prøv også og læs lidt på denne side: http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html
Avatar billede lillebror Nybegynder
27. februar 2006 - 12:08 #3
Når jeg tilføjede RewriteCond %{REQUEST_FILENAME} !-F
efter hver rewriterule så hjalp det, men jeg kan stadig ikke finde ud af at få det til at virke uden trailing slash, det hjalp ikke at sætte spørgsmålstegnet.
Avatar billede lillebror Nybegynder
14. maj 2006 - 11:52 #4
Har stadig ikke fundet ud af det, lukker her
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
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

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