tnViking Skrevet 23. oktober 2011 Del Skrevet 23. oktober 2011 Heisann! Akkurat nå så har jeg localhost/?page=home på siden min, men hvordan får jeg den til å være en "ren" URL?? Jeg ønsker at den skal se ut slik localhost/home/ Noen som vet hvordan jeg kan få den slik?? Lenke til kommentar
torbjørn marø Skrevet 23. oktober 2011 Del Skrevet 23. oktober 2011 Kanskje du burde si hva du bruker for noe - mvc rammeverk, blogmotor, cms løsning, eller noe hjemmesnekra? Jeg antar det siste, og da er mitt tips å google "php routing". Lenke til kommentar
tnViking Skrevet 23. oktober 2011 Forfatter Del Skrevet 23. oktober 2011 Jeg bruker denne: <?php /* I N K L U D E R I N G S S K R I P T * v 1.0 * * Skrive av Ola Mjanger (2005) * * Artikkel om inkludering med PHP: http://www.norskwebforum.no/viewtopic.php?t=12111 * * */ /* I N N S T I L L I N G A R */ /* Lim inn på toppen av dokumentet * Forandre variablane etter dine ønsker */ $handlername = 'page'; // her blir linkane ?side=xxx. Forandre til det du bruker $defaultSide = 'home.php'; // den fila som blir inkludert dersom inga side er etterspurt i URL-en $includePath = './'; // stien til mappa sidene som skal inkluderast ligg i $errorPage = 'inc/404.php'; // fila som blir inkludert dersom ei side som ikkje ligg i mappa blir etterspurt $fileEnding = '.php'; // filendelsen på filane som skal inkluderast /* S C R I P T S T A R T */ /* Første delen henter variabelen i url-en og alle filnavn i mappa du skal inkludere frå */ /* Treng ikkje endrast */ $URLside = &$_GET[$handlername]; // lagar ein enklare variabel for variabelen sendt gjennom url-en $rep = opendir($includePath); // åpnar mappa som er satt i $includePath while ($file = readdir($rep)) { if($file != '..' && $file !='.' && $file !='' && !is_dir($file)) // unngår mapper { $filer[]=$file; // legg alle filane i mappa inn i $filer-arrayet } } closedir($rep); // lukker mappa if (!isset ($URLside)) // viss det ikkje blir sendt ein variabel gjennom url-en for å bestemma kva side som skal inkluderast { $side = $includePath . $defaultSide; // blir filen satt i $defaultSide inkludert } else { $side = $URLside . $fileEnding; // legg til filendelsen satt i $filendelse for å if (in_array ($side, $filer)) { // sjekker om den etterspurte sida er i arrayet $side = $includePath . $side; // inkluder sida } else { // ellers $side = $includePath . $errorPage; // inkluder filmeldinga, satt i $errorPage } } /* I N K L U D E R I N G S D E L */ /* Lim inn der innhaldet skal inkluderast */ include_once $side; // inkluderer sida som er bestemt gjennom diverse testar ?> Lenke til kommentar
Tom_ Skrevet 23. oktober 2011 Del Skrevet 23. oktober 2011 Du kan jo bare lage en mappe som heter home på localhost Lenke til kommentar
DuckyDuckDuck Skrevet 23. oktober 2011 Del Skrevet 23. oktober 2011 Du kan også få til dette med en htaccess-fil. Lenke til kommentar
tnViking Skrevet 23. oktober 2011 Forfatter Del Skrevet 23. oktober 2011 (endret) Du kan jo bare lage en mappe som heter home på localhost Jeg trur du ikke skjønner helt. Mangen, og jeg, syns det er fælt å ha ?page=user&id=ola.nordmann&album=66235621&photo=01 Derfor liker jeg, og mangen å ha; /User/Ole.Nordmann/Album/Sommeren_2009/Bilde/01/ Endret 23. oktober 2011 av Goldfiner Lenke til kommentar
torbjørn marø Skrevet 23. oktober 2011 Del Skrevet 23. oktober 2011 Om du google PHP routing som jeg foreslo så er det første treffet en opskrift på hvordan du får til akkurat det du ber om vha. .htaccess-fila. Lenke til kommentar
Occi Skrevet 23. oktober 2011 Del Skrevet 23. oktober 2011 Det er bedre å bruke mod_rewrite, da det er raskere og lettere å vedlikeholde. Om man "sprer" .htaccess filer "overalt" så kan man fort glemme de, og feilsøking kan fort bli vanskelig. Selvsagt kun om man har tilgang til httpd.conf (som typisk ligger i /etc/apache2/httpd.conf på en debian-installasjon). Dessuten er det snakk om hva standarden sier, og ikke minst performance: - .htaccess må leses og tolkes hver gang en side lastes, og sjekkes hver gang hver eneste fil blir lastet fra en side. Dvs. om du har mange bilder vil denne lastes en gang for hvert eneste bilde. - httpd.conf derimot blir compiled ved start, og kjøres native i programmet og er derfor raskere. Lenke til kommentar
agrimsrud Skrevet 23. oktober 2011 Del Skrevet 23. oktober 2011 (endret) Om man "sprer" .htaccess filer "overalt" så kan man fort glemme de, og feilsøking kan fort bli vanskelig. Nå skal det ikke være nødvendig med noe særlig mer enn én .htaccess liggende i roten da.. En enkel løsning: Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ $1/ RewriteRule ^(.*)/$ index.php?page=$1 Ellers ser løsningen Torbjørn fant spennende ut! Endret 23. oktober 2011 av agrimsrud Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå