Avatar billede larzy Nybegynder
18. januar 2004 - 20:30 Der er 11 kommentarer og
1 løsning

brugervenlige urls: .htaccess eller mod_rewrite eller

Jeg prøver at lave brugervenlige URL's på mit php-site vha af .htaccess og PATH_INFO som beskrevet i metode 3 på http://www.sitepoint.com/article/485

Min .htaccess indeholder

<Files test> 
  ForceType application/x-httpd-php 
</Files>

og test filen indeholder

<?php
  error_reporting (E_ALL ^E_NOTICE );
  $var_array = explode("/",$_SERVER['PATH_INFO']);
  $content =$var_array[1];
  echo "dette er min variable = " . $content;
?>
Avatar billede Slettet bruger
18. januar 2004 - 20:41 #1
Ja, og? Jeg ser ikke noget spørgsmål?
Avatar billede coderdk Praktikant
18. januar 2004 - 21:19 #2
I din .htaccess fjern din <Files> ting, og indsæt følgende:

Options MultiViews

Nu kan du omdøbe din fil fra test til test.php men du vil stadig kunne tilgå filen ved:

  http://server/test

MultiViews gør nemlig at du kan udelade extensions!
Avatar billede delphimann Nybegynder
18. januar 2004 - 21:20 #3
flot... Det er du godt til :D

Hvis det var for at få ros så svare jeg lige :D
Avatar billede coderdk Praktikant
18. januar 2004 - 21:24 #4
I test.php kan ud lave:

$id = substr($_SERVER['PATH_INFO'],1);
if (!is_numeric($id))
{
  $id = 0;
}

Så vil $id indeholde artikel id, og være 0 hvis der er andet end et tal...
Avatar billede larzy Nybegynder
19. januar 2004 - 15:38 #5
ved ikke hvad der skete - så resten af mit spørgsmål kommer her

Jeg har lavet en testside i en test folder:
http://www.leighbuckland.com/test/test
det virker også fint nok men når jeg kalder url'en med en variabel fx:
http://www.leighbuckland.com/test/test/2
så sker der noget mystisk med url'en - og den viser ikke billedet??


Jeg har også tænkt på at lave en folder til hver menupunkt - fx en folder company med en index.php
http://www.leighbuckland.com/foldertest
men når jeg kalder med en variabel - virker apaches lookback funktion tilsyneladende ikke??
http://www.leighbuckland.com/foldertest/2

coderdk - jeg prøver lige at teste din løsning
Avatar billede erikjacobsen Ekspert
19. januar 2004 - 15:43 #6
Det er ikke mystisk. Når du bruger URL-rewrite på denne måde ved browseren
ikke andet end at den skal lede efter billedet i /test/test/2/pictures/artwork.jpg

Du skal derfor angive absolut URL - hver gang:

<img src="/test/testpictures/artwork.jpg" width="285" height="190">
Avatar billede erikjacobsen Ekspert
19. januar 2004 - 15:43 #7
<img src="/test/test/pictures/artwork.jpg" width="285" height="190">
Avatar billede larzy Nybegynder
19. januar 2004 - 20:37 #8
ok - så der er ikke så meget at gøre - jeg ska ind og ændre alle steder hvor jeg har angivet en URL? (har testet med multiviews og det er det samme)

Men hvordan ka det være at apache ikke kan finde
http://www.leighbuckland.com/foldertest/2
-burde den ikke gå tilbage til index.php i foldertest??
Avatar billede erikjacobsen Ekspert
19. januar 2004 - 21:01 #9
Det kommer an på hvad du har skrevet i din .htaccess etc
Avatar billede larzy Nybegynder
19. januar 2004 - 21:16 #10
I min .htaccess har jeg:

DirectoryIndex index.php

og i index.php har jeg

<?php
  error_reporting (E_ALL ^E_NOTICE );
  $var_array = explode("/",$_SERVER['PATH_INFO']);
  $content =$var_array[1];
  echo "dette er min variable = " . $content;
?>
Avatar billede erikjacobsen Ekspert
19. januar 2004 - 21:18 #11
Det kunne ikke tænkes at din anden .htaccess så anderledes ud?
Avatar billede larzy Nybegynder
20. januar 2004 - 20:00 #12
min anden .htaccess? - jeg er ikke helt med
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