Avatar billede Slettet bruger
24. januar 2011 - 15:30 Der er 6 kommentarer og
1 løsning

Hent mod_rewrite navne fra database?

Hey alle..

Jeg mangler en smule hjælp til mod_rewrite funktionen i apache..

Jeg har til min side lavet et lille CMS-system som holder styr på det hele, og derfor hedder alle sider på hele hjemmesiden noget i stil med:

index.php?page_ID=1
index.php?page_ID=2
index.php?page_ID=3

det er selvfølgelig ikke særligt brugervenligt eller søgemaskinevenligt.

Alle sider er selvfølgelig navngivet i databasen, så jeg ville høre om jeg kan hente sidenavnene i databasen og få mod_rewrite til at smide navnene i URL'en i stedet?..

Håber på noget hjælp :)
Avatar billede The_Buzz Novice
24. januar 2011 - 15:40 #1
Hej Texton

Hvilket CMS system er det? Wordpress kan gøre det...

Du har 400 points ude, måske du skal have set på det også :)
Avatar billede Slettet bruger
24. januar 2011 - 15:49 #2
Er gjort :)!

Det er et CMS system som jeg selv har lavet. Så der er ikke nogen let vej med plugin eller lign :)
Avatar billede The_Buzz Novice
24. januar 2011 - 15:57 #3
Det kan sagtens programmeres...

Wordpress kører det således med en .htaccess :
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.php [L]
</IfModule>

Alle requests hvor der ikke eksisterer et filnavn, vil blive kastet igennem index.php - og der kan man jo så explode REQUEST_URL
Avatar billede The_Buzz Novice
24. januar 2011 - 16:01 #4
Du kunne så eventuelt køre:
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /fangurl.php [L]
</IfModule>

fangurl.php
kunne så include index.php på en eller anden måde?
Avatar billede Slettet bruger
24. januar 2011 - 16:14 #5
okay jeg tror at jeg er med..

Eksempel:
Hvis jeg, i min browser, skriver www.hjemmeside.dk/side1 så bliver jeg smidt ind på index.php men stadig med www.hjemmeside.dk/side1 i adressenlinjen - Derfor kan jeg benytte noget request_url til at hente adresselinjen ned i mit php for så at explode mit frem til "side1".

Så søger jeg i databasen og finder siden som hedder side1 og include'er det rigtige page_ID?.. 

Det prøver jeg lige!
Avatar billede The_Buzz Novice
24. januar 2011 - 16:39 #6
Yes det var sådan set det jeg mente.
Smider det her som svar hvis du kunne bruge mine råd ovenfor.
Avatar billede Slettet bruger
24. januar 2011 - 18:04 #7
det ser ud til at virke fint.. tak for hjælpen :)
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