Avatar billede dennism Nybegynder
12. juli 2005 - 22:12 Der er 18 kommentarer og
1 løsning

PHP: RewriteEngine

Jeg lavet et lille eksempel, hvor jeg bruger en RewriteEngine, som jeg definerer i min .htaccess. Hent eksempler her:
http://www.demaweb.dk/rewrite.zip

Når man f.eks. besøger rewrite/news/2 er det i min .htaccess defineret til at skifte til:
index.php?action=news&id=2

Som I kan se, så bliver billedet hentet fil når man bare besøger "rewrite/index.php", men så snart man henter siden fra "rewrite/news/2", kan den naturligvis ik finde billedet, da den tror det ligger i "rewrite/news/".
Hvordan kan jeg forhindre at dette går galt?
Har en stor portal, hvor jeg gerne vil bruge rewrite, men det virker åndsvagt at skulle skrive HELE filnavnet på samtlige links, billeder osv.

Håber I forstår mit problem, samt at der er nogen derude, som har en god løsning!
Avatar billede webt Nybegynder
12. juli 2005 - 22:36 #1
Du er nødt til at bruge relative sti navne dvs hvis dinne billeder ligger i domæne.dk/images må du bruge /images/billede.jpg i stedet for images/billede.jpg så vil den går ned i roden og tage images i stedet for at gå ind i rewrite/news/images

Det er vist den eneste mulighed

Mvh
Martin
Avatar billede dennism Nybegynder
12. juli 2005 - 22:49 #2
Så er problemet bare, når siderne ligger på mit localhost. Der ligger de jo f.eks. i 127.0.0.1/sites/testside

Så vil den der tro, at billederne ligger i 127.0.0.1/images/ istedet for 127.0.0.1/sites/testside/images
Avatar billede webt Nybegynder
13. juli 2005 - 00:19 #3
ja men er det addressen der bliver vist i browseren altså /sites/testside/ ? hvis det er tilfælde må du /sites/testside/images

Mvh
Martin
Avatar billede Slettet bruger
13. juli 2005 - 07:54 #4
Sæt en base href i din header-del af HTML-dokumentet
Avatar billede dennism Nybegynder
13. juli 2005 - 09:07 #5
el_barto >>

Hvordan gør man det? Gider du forklare det nærmere..
Avatar billede webt Nybegynder
13. juli 2005 - 09:53 #6
Det gør du ved en:
<base href="/din/rod/sti">

og så skulle du ikke ha nogen problemer med at bruge /images da den så vil tage /din/rod/sti/images

Mvh
Martin
Avatar billede dennism Nybegynder
13. juli 2005 - 10:33 #7
Hvordan kan jeg så få PHP til at finde denne "href"? :(
Avatar billede webt Nybegynder
13. juli 2005 - 10:41 #8
Jeg er ikke med?
Avatar billede dennism Nybegynder
13. juli 2005 - 10:45 #9
Jeg vil gerne have en PHP-funktion, som returnerer den sti som sitet ligger i.

I overstående tilfælde:
http://127.0.0.1/sites/testside
Avatar billede dennism Nybegynder
13. juli 2005 - 10:50 #10
Noget i retningen af:
print "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["PHP_SELF"] ;

Bortset fra at dette f.eks. returnerer:
http://127.0.0.1/test/test2.php

Hvor det blot skal returnere:
http://127.0.0.1/test/
Avatar billede webt Nybegynder
13. juli 2005 - 11:07 #11
Med fare for at ha en funktion der er ekstrem unødvendig da jeg ikke lige ved om det kan laves nemmere:
str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['PHP_SELF']);
Ikke lige noget jeg har haft brug for heh

ovenstående skulle klare jobbet, men om der er en nemmere måde...
Avatar billede dennism Nybegynder
13. juli 2005 - 14:17 #12
Så må det fulde resultat ligge i:
print "http://" . $_SERVER["SERVER_NAME"] . str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['PHP_SELF']);

Smider I lige et svar?
Avatar billede webt Nybegynder
13. juli 2005 - 18:53 #13
Her kommer et forsinket svar :) blev hevet med på "stranden"
Avatar billede dennism Nybegynder
13. juli 2005 - 19:38 #14
Så afventer vi lige et svar fra el_barto.
Avatar billede webt Nybegynder
19. juli 2005 - 19:28 #15
Hmm ja vist tid til at vifte mine sure sokker foan el-bartos næse se om det hjælper :D

Vi venter bare, jo ikke noget der haster :)

Mvh
Martin
Avatar billede dennism Nybegynder
20. juli 2005 - 13:03 #16
Lad os lukke her.
Avatar billede dennism Nybegynder
20. juli 2005 - 13:03 #17
Tak for hjælpen!
Avatar billede webt Nybegynder
20. juli 2005 - 13:05 #18
Det var så lidt, skulle det være en anden gang :)

Tak for points, og fortsat god dag
Mvh
Martin
Avatar billede Slettet bruger
20. juli 2005 - 13:22 #19
Jeg havde travlt på arbejdet, og ville egentlig heller ikke have point :) Men godt du fik det til at virke!
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