Avatar billede andersjo Nybegynder
12. februar 2007 - 20:30 Der er 7 kommentarer og
1 løsning

url etter områder

Hei.

Jeg lager en nettside i php med MySQL på Apache. Siden er delt opp i områder. Jeg ønsker at url'en skal peke til de ulike områdene.

http://www.minside.com/hovedside -> Hovedsiden
http://www.minside.com/artikler -> Liste over artikkler
http://www.minside.com/artikler/artikkel1 -> Først artikkel
http://www.minside.com/artikler/artikkel2 -> Neste artikkel

Er dette noe noe som må ordner i Apache, eller må det programmeres i php?


//andersjo
Avatar billede showsource Seniormester
13. februar 2007 - 11:15 #1
well, en .htaccess som tager "hele svineriget"

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([A-Za-z_0-9\ -/]+)(/)?$ index.php?id=$1

I din php er du så nødt til at finde ud af hvad som er sat:

<?php

if(isset($_GET["id"])) {
echo $_GET["id"];

$vars = explode("/", $_GET["id"]);
echo"<p>";
    foreach($vars as $value) {
        if(!empty($value)) {
        echo $value ." - ";
        }
    }
}
?>
Avatar billede andersjo Nybegynder
13. februar 2007 - 11:44 #2
Jeg lagde en fil index.php som inneholder php-koden og en .htaccess fil som inneholder Rewrite... settningene i mappen test.

http://localhost:8080/test/ fungerer, men ingen ting vises.
http://localhost:8080/test/1 gir feilen "The requested URL /test/1 was not found on this server."

Hva betyr de forskjellige Rewrite.. settningene?
Avatar billede showsource Seniormester
13. februar 2007 - 12:15 #3
For at du kan bruge det i en .htaccess, skal du tillade .htaccess for dir'et i din httpd.conf

RewriteEngine on
#rewrite "startes"

RewriteCond %{REQUEST_FILENAME} !-f
# request er ikke en forbidden

RewriteCond %{REQUEST_FILENAME} !-d
# request er ikke et dir

RewriteRule ^([A-Za-z_0-9\ -/]+)(/)?$ index.php?id=$1
# de tegn som "accepteres", inkl. en afsluttende skråstreg
# ^ start herfra
# disse tegn [A-Za-z_0-9\ -/]
# + hvor mange af tegnene der nu er
# (/) også skråstreg
Avatar billede showsource Seniormester
13. februar 2007 - 12:17 #4
Og b.t.w. skal du i din conf også loade modulet mod_rewrite !!!
Avatar billede showsource Seniormester
13. februar 2007 - 12:18 #5
Har iøvrigt testet ovenstående på både en win og en freebsd, og det virker fint nok.
Avatar billede andersjo Nybegynder
13. februar 2007 - 12:34 #6
Det virket nå.
Takk for hjelpen. Legg inn et svar, så får du poengene...
Avatar billede showsource Seniormester
13. februar 2007 - 12:40 #7
ingen point til mig, ellers tak
Avatar billede andersjo Nybegynder
13. februar 2007 - 12:56 #8
Nei vel...
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