Avatar billede lillebror Nybegynder
25. juni 2005 - 17:22 Der er 7 kommentarer og
1 løsning

mod_rewrite problem

Hejsa

Jeg har følgende stykke kode i .htaccess

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-F
RewriteRule ^([^/]+)/([^/]*)/?$ index.php?pagename=$1&id=$2

Problemet er at mit stylesheet og mine billeder ikke vil vises, når jeg hopper ind på localhost/virtueltdir/
Jeg har prøvet at lave en var: $sDocRoot = $_SERVER['DOCUMENT_ROOT'];

Så satte jeg den ind ved alle billeder og ved style sheet. Der er dog to problemer ved dette. For det første synes jeg løsningen er meget besværlig, for det andet virker den løsning ikke i firefox, af en eller anden årsag.

Hvordan tackler man bedst denne problemstilling?
Avatar billede erikjacobsen Ekspert
25. juni 2005 - 17:28 #1
Du kan formentlig blot sætte en "/" foran:  "/style.css" i stedet for "style.css"
Avatar billede lillebror Nybegynder
25. juni 2005 - 17:48 #2
Den gik desværre ikke :(
Avatar billede lillebror Nybegynder
25. juni 2005 - 17:51 #3
Det skal måske siges, at jeg kører apache på windows, og at din løsning muligvis ville fungere på en webserver der benytter linux.
Avatar billede lillebror Nybegynder
25. juni 2005 - 17:55 #4
Heller ikke på webserveren lykkedes det mig, den vil simpelthen ikke være med til det, når man sætter en / foran
Avatar billede lillebror Nybegynder
25. juni 2005 - 18:25 #5
Det lykkedes, da jeg refererede til mit root dir. Det har nok været det du har ment erik, men da jeg havde filen i en mappe, der lå i root. Så havde det ingen effekt bare at sætte stregen, men hvis du smider et svar, så deler vi pointene!
Avatar billede erikjacobsen Ekspert
25. juni 2005 - 18:40 #6
Jeg samler slet ikke på point.

Hvis din index.php ligger som http://www.domæne.dom/index.php, og du normalt
kan referere stylesheets (etc) med "style.css", så skal det virke med "/style.css".
Men har du sat det anderledes op, så er det selvfølgelig ikke løsningen.

Og du skal *ikke* skrive dit root-dir i referencer til stylesheets og billeder. Det vil kun virke på din lokale maskine, fordi du også har adgang til filsystemet.

Så skal vi ikke prøve at finde en løsning, der holder?
Avatar billede erikjacobsen Ekspert
25. juni 2005 - 18:49 #7
Nå ja, jeg havde overset noget. Når du vil omskrive alle url-er, kommer du jo også
til at omskrive dem, der hedder "/style.css" - osv. En løsning, er at sørge for at
der er undtagelser til omskrivningerne, fx. at den ikke skal gøre det hvis der er noget der hedder images:

RewriteCond  %{THE_REQUEST} !images

Her kan du så bruge http://www.domæne.dom/images/whatever.jpg
Avatar billede lillebror Nybegynder
25. juni 2005 - 19:51 #8
Jeg har sat det op sådan at siden kan nås via www.domæne.com/siden/index.php
Derfor virker det når jeg refererer via /siden/style.css, hvilket ikke bare virker på min lokale maskine, men over det hele!

Så mit problem er løst :)
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