Avatar billede venchil Nybegynder
03. december 2005 - 13:33 Der er 8 kommentarer og
1 løsning

Kortere og venligere URLs

Lige nu bruger jeg denne lille stump kode til mit include system:

        <?php

            $allowed = array("side1.html", "pi.html")

            $sideid = $_GET['id'];

            if (in_array($sideid, $allowed)) {

            include("$sideid");

            }

            else {

            echo "Fejl 404 - Siden eksisterer ikke";

            }

        ?>

Men det er jo ikke så brugervenligt at skulle skrive
http://www.minside.dk/forside.php?id=side1.html, bare for at se på side1.html.
Kunne man ikke gøre det sådan, at man bare skulle skrive
http://www.minside.dk/side1 istedet? I såfald hvordan?

Jeg HAR læst artiklen om søgemaskinevenlige urls på udvikleren.dk, men jeg kunne ikke få det til at virke..

Nogen der kan hjælpe mig?
Avatar billede Slettet bruger
03. december 2005 - 13:37 #1
Hvis du har adgang til serveren mod_rewrite http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
Avatar billede venchil Nybegynder
03. december 2005 - 13:46 #2
OK... Jeg har en masse sider... Lad os f.eks sige:

- content_profil.php
- content_kontakt.php

Desuden har jeg en fil med mit layout i:

- forside.php

Nu vil jeg gerne indsætte et script i forside.php, der inkluderer "content_profil.php" hvis siden "www.minside.dk/profil" bliver kaldt...

Hvordan gør jeg det?
Avatar billede Slettet bruger
03. december 2005 - 13:48 #3
bruger mod_rewrite til at skrive det om til

http://www.minside.dk/forside.php?id=content_profil.php
Avatar billede venchil Nybegynder
03. december 2005 - 13:51 #4
Så hvad skal jeg skrive i min rewrite??? Kan ikke helt forstå den artikel?
Avatar billede or.han Nybegynder
03. december 2005 - 13:52 #5
I menuen kan dine knapper have flg. links:
<a href="?id=1">Side 1</a>
<a href="?id=2">Side 2</a>
osv...

Så på selve siden kan du gøre flg.:
if(isset($_GET['id']){
  $sideId = $_GET['id'];
  switch($sideId){
  case 1:
  // inkluder side 1
  break
  case 2:
  // inkluder side 2
  break
  osv
  }
}

Forstår du?
Avatar billede venchil Nybegynder
03. december 2005 - 13:54 #6
Så er jeg jo tilbage hvor jeg startede... Ved http://www.minside.dk/mitlayout.php?id=1

Kan jeg ikke lave den om til:

http://www.minside.dk/1
Avatar billede or.han Nybegynder
03. december 2005 - 14:12 #7
Nåh ok på den måde... Det ved jeg faktisk ikke, men undersøger det lige. Det kunne være meget fedt hvis det kan lade sig gøre. Men hvis du nu har flere variabler, så bør der jo nok stå "id1" så man ved at id er lig med 1 og hvis der kommer en ny variabler kan det blive "id1&page3"...
Avatar billede or.han Nybegynder
03. december 2005 - 18:22 #8
Har læst lidt om det der nu men der var noget jeg ikke helt fik fat i.

Når man skriver en url som side1/del2, så kan det laves som til ?side=1&del=2, men kan det ses på adresselinjen? Eller står det stadig som www.minside.dk/side1/del2??
Avatar billede venchil Nybegynder
03. februar 2006 - 11:52 #9
Lukker spm, har fundet en anden løsning
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