Avatar billede alvion Nybegynder
21. april 2004 - 12:23 Der er 7 kommentarer og
1 løsning

RewriteCond ignoreres tilsyneladende

Jeg har en hjemmeside, hvor jeg har indsat følgende RewriteRule's

RewriteEngine on
RewriteRule ^([^/\.]+)/([^/\.]+)(/?)$ /_$1.php?param=$2 [qsappend]
RewriteRule ^([^/\.]+)(/?)$ /_$1.php [qsappend]
RewriteRule ^/$ _default.php [qsappend]

Dette fungerer fint. http://www.mydomain.dk/test/45 laves f.eks. om til http://www.mydomain.dk/_test.php?param=45

Nu har jeg så en undermappe, der hedder admin, men hver eneste gang jeg skriver http://www.mydomain.dk/admin, så får jeg en "_admin.php not found". Jeg ville gerne have den til at finde min index fil i admin mappen

Jeg har så prøvet at indsætte en RewriteCond således at RewriteRule linierne ikke udføres, hvis brugeren har skrevet http://www.mydomain.dk/admin

RewriteEngine on
RewriteCond %{lowercase:REQUEST_URI} !^/admin.*
RewriteRule ^([^/\.]+)/([^/\.]+)(/?)$ /_$1.php?param=$2 [qsappend]
RewriteRule ^([^/\.]+)(/?)$ /_$1.php [qsappend]
RewriteRule ^/$ _default.php [qsappend]

Men det virker ikke. Hvad gør jeg forkert?
Avatar billede htm Nybegynder
21. april 2004 - 14:55 #1
Har du RewriteMap med også? ellers virker din lowercase jo ikke...

Du kan altid sætte Log op på din rewrite så du altid kan finde ud af hvad der præcist sker.

Det anbefales at man sætter rewriteloglevel til 9 mens man udvikler på en rewrite.

http://httpd.apache.org/docs/mod/mod_rewrite.html#RewriteLog
http://httpd.apache.org/docs/mod/mod_rewrite.html#RewriteLogLevel
Avatar billede alvion Nybegynder
21. april 2004 - 15:18 #2
Jeg har sat følgende ind i httpd.conf

RewriteLog "/data/solutions/allfirms/logs/rewrite.log"
RewriteLogLevel 9

og filen rewrite.log bliver også oprettet (med 0 bytes), når jeg genstarter Apache. Men der kommer aldrig noget i den, når jeg går ind på min side.
Avatar billede alvion Nybegynder
21. april 2004 - 15:21 #3
Nå sidstnævnte problem fandt jeg ud af - de to directives skulle sættes ind i min VirtualHost
Avatar billede alvion Nybegynder
21. april 2004 - 15:31 #4
Når jeg skriver www.min-adresse.dk/admin så får jeg følgende i loggen (jeg har fjernet de første kolonner om ip-adresse, dato, mv.

strip per-dir prefix: /data/solutions/allfirms/admin -> admin
applying pattern '^([^/\.]+)/([^/\.]+)(/?)$' to uri 'admin'
strip per-dir prefix: /data/solutions/allfirms/admin -> admin
applying pattern '^([^/\.]+)(/?)$' to uri 'admin'
rewrite admin -> /_admin.php
applying pattern '^/$' to uri '/_admin.php'
internal redirect with /_admin.php [INTERNAL REDIRECT]
strip per-dir prefix: /data/solutions/allfirms/_admin.php -> _admin.php
applying pattern '^([^/\.]+)/([^/\.]+)(/?)$' to uri '_admin.php'
strip per-dir prefix: /data/solutions/allfirms/_admin.php -> _admin.php
applying pattern '^([^/\.]+)(/?)$' to uri '_admin.php'
strip per-dir prefix: /data/solutions/allfirms/_admin.php -> _admin.php
applying pattern '^/$' to uri '_admin.php'
pass through /data/solutions/allfirms/_admin.php

Så for mig ser det ud til, at den slet ikke forsøger at teste min RewriteCond?
Avatar billede htm Nybegynder
21. april 2004 - 16:05 #5
Har du noget i error_log ?

Har du RewriteMap med? Du bruger jo en funktion der bliver dannet af rewritemap.

Forresten [^/] betyder "NOT /" det vil sige alle tegn der ikke er / vil matche det udtryk, så kan ikke se hvad \. laver inde i [].
Avatar billede alvion Nybegynder
01. juni 2004 - 22:15 #6
htm -> Vi kom aldrig videre med dette spg. Har du nogle kvalificerede gæt? Jeg har kigget i Apache's error_log, men kan ikke finde noget mod_rewrite relevant.
Avatar billede htm Nybegynder
03. juni 2004 - 18:52 #7
prøv og svar på min kommentar 21/04-2004 16:05:10

post noget af din error.log der bliver dannet når du går ind på /admin.
Har du rewritemap med?
hvor har du placeret din rewrite?
Avatar billede alvion Nybegynder
18. august 2010 - 11:51 #8
lukket
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