ThaKladd Skrevet 10. juli 2010 Del Skrevet 10. juli 2010 Hei Har ikke funnet noe svar på dette fordi jeg ikke helt vet hva jeg skal søke på - og når jeg søker på .htaccess rewrite så kommer det alltid opp enkle eksempler og aldri hva disse medfører i prakis av problemer. Så, mitt probler ligger i følgende rewrite av url: RewriteRule ^([a-zA-Z-]+)/?$ index.php?page=$1 det vil si at side.com/about/ går til side.com/index.php?page=about Problemet oppstår når jeg linker til en fil i en mappe som ligger på rot f.eks. side.com/css/ eller side.com/js/ når jeg er inne i side.com/about/ Både PHP og JavaScript tror da at side.com/about/ er stien hvor filen ligger -> og den godtar da ikke at jeg linker relativt dvs. href="css/stilark.css" eller i javascript ved ajax til en php fil som ligger i ajax/ajax_hent_resultat.php -> det tolkes til at jeg peker på side.com/about/ajax/ajax_hent_resultat.php Jeg vil kunne hente inn javascript både når jeg er i rot, altså side.com/ og når jeg er i about, side.com/about/ uteb å måtte skrive noe som sjekker hvor jeg er og endre stien i henhold til det, eller alltid måtte peke på hele stien. Finnes det en løsning? Lenke til kommentar
Runar Skrevet 10. juli 2010 Del Skrevet 10. juli 2010 (endret) Prøv å legg følgende før RewriteRule-regelen: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Denne sørger for at du kan linke direkte til en fil eller mappe, uten å få problemer. Redigert: Du finner mye nyttig informasjon i dokumentasjonen for mod_rewrite. Endret 10. juli 2010 av Runar Lenke til kommentar
ThaKladd Skrevet 10. juli 2010 Forfatter Del Skrevet 10. juli 2010 (endret) Det fungerer ikke. Edit: Er ikke linkingen til mapper som er problemet, men at linkene ikke tar utgangspunkt i rota - linkene tror at url er mappestrukturen og at der hvor url er - er rota. Så lenge jeg peker rett på side.com/css/fil.css så fungerer det, men en relativ sti, som css/fil.css fungerer ikk fordi den da tror filen er i side.com/side/css/fil.css Endret 10. juli 2010 av ThaKladd Lenke til kommentar
Runar Skrevet 10. juli 2010 Del Skrevet 10. juli 2010 Det er ikke mod_rewrite sin feil. Du må angi at det er en mappe/fil på rotnivå ved å starte med en /. Det blir da /css/fil.css istedet for css/fil.css Lenke til kommentar
ThaKladd Skrevet 10. juli 2010 Forfatter Del Skrevet 10. juli 2010 Har jo selvsagt prøvd det, uten hell. Tror jeg er på sporet av feilen likevel. Jeg jobber lokalt -> på 127.0.0.1/side/ som rot, men HTML definerer 127.0.0.1 som rot og ikke mappen der index filen er. Jeg har alltid gått ut ifra at der index filen er = rota (logisk nokk), og dermed sluppet unna med css/fil.css. Slik er det altså ikke - og det er dumt når man jobber lokalt med flere sider. Fikk bare problem med det når jeg la til Rewrite, på grunn av at URL ikke lenger hadde utgangspunkt i index.php som før - men i plasseringen gitt i url. Må vel bare prøve å finne en workaround som gjør det lett å oppdatere live uten å måtte skifte i kode først... Lenke til kommentar
Runar Skrevet 10. juli 2010 Del Skrevet 10. juli 2010 Kanskje RewriteBase eller (html-tag) kan hjelpe deg? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå