Avatar billede ohmish Nybegynder
20. januar 2005 - 18:20 Der er 8 kommentarer og
1 løsning

mod_rewrite - dynamiske urls + korrekt sti m.m.

Hej.
Jeg har en .htaccess fil med indholdet:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(diary|guestbook|gallery|contact)/?$ $1.php [L]
RewriteRule ^(diary|guestbook|gallery|contact)/([0-9A-Z-a-z@\.]+)/?$ $1.php?action=$2 [L]

Men det virker ikke som det skal..

http://www.minside.dk/gallery : går til gallery.php, MED stylesheet og billeder.

http://www.minside.dk/gallery/ > gallery.php : går til gallery.php, UDEN stylesheet og billeder.

http://www.minside.dk/gallery/1234 > gallery.php?action=1234
http://www.minside.dk/gallery/1234/ > gallery.php?action=1234
Begge virker som det skal.. MEN:

I alle tilfælde:
når jeg f.eks klikker på linket "diary" mens jeg er i "gallery", lægger linket sig EFTER den side jeg er på (i adresselinien). og det fortsætter for hver gang jeg klikker.

Sådan her skal det være:
http://www.minside.dk/gallery > gallery.php
http://www.minside.dk/gallery/ > gallery.php
http://www.minside.dk/gallery/1234 > gallery.php?action=1234
http://www.minside.dk/gallery/1234/ > gallery.php?action=1234
Og stier til stylesheets og billeder skulle helst virke.

Nogen der kan hjælpe?
Avatar billede ohmish Nybegynder
20. januar 2005 - 18:30 #1
"og det fortsætter for hver gang jeg klikker"
er forkert..

når jeg klikker på linket "diary" mens jeg er i "gallery", står der i adresselinien diary/gallery/ og "gallery" er nu min $action på diary-siden.
Avatar billede ohmish Nybegynder
20. januar 2005 - 18:32 #2
med andre ord.. det som ikke virker er højst sandsynligt trailing slash /
og det at css og img OGSÅ bliver genskrevet i reglerne. men jeg er ikke sikker.
Avatar billede Slettet bruger
20. januar 2005 - 18:56 #3
Grunden er jo at browseren tror at du står i mappen
http://www.minside.dk/gallery

I toppen af din side linker du sikkert til dit stylesheet med link_til_style.css, og det samme med billederne. Dette får browseren til at tro at den skal vise den css-fil der ligger i mappen /gallery

Da denne ikke findes kokser tingene.

Jeg vil anbefale at sætte et base href på siden, som css-filen så kan forholde sig til.
Avatar billede Slettet bruger
20. januar 2005 - 18:57 #4
<base href="http://wwwminside.dk">

:)
Avatar billede ohmish Nybegynder
20. januar 2005 - 19:15 #5
jeg vil helst ordne mest muligt med mod_rewrite..
jeg går ikke ud fra at alle der laver søgemaskine-venlige links er nødt til at bruge <base href="http://wwwminside.dk">?
Avatar billede sukos Juniormester
24. januar 2005 - 16:53 #6
Brug en / i alle links og stier til filer.

<link rel="stylesheet" type="text/css" href="/my_style.css">

<img src="/images/picture.jpg">

Så vil serveren altid starte med at kikke fra roden af domænet
Avatar billede sukos Juniormester
31. januar 2005 - 18:50 #7
Fandt du ud af det?
Avatar billede ohmish Nybegynder
23. februar 2006 - 22:37 #8
ja, ved at sætte en fast rod i hvert link osv.
Avatar billede ohmish Nybegynder
02. marts 2006 - 18:13 #9
echo '<img src="'.$root.'grafix/bottom.jpg" alt="" />';
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