Gå til innhold

Hvordan få til: index.php/ommeg


Anbefalte innlegg

Videoannonse
Annonse

Denne funker bra:

 

<?PHP
if (!isset($p)) { 
$p = "hovedsiden";
}
$incfile = "./inc/" . $p . ".php";
if (file_exists($incfile)) { 
include($incfile);
} else {
echo "Nothing here";
}	
?>

 

da blir linkene sånn:

<a href="index.php?p=om_meg">Om Meg</a>
<a href="index.php?p=bilder">Bilder</a>

 

Så legger du filene "bilder" og "om_meg" inn i ei mappe som du kaller "inc"!

Lenke til kommentar
Denne funker bra:

 

<?PHP
if (!isset($p)) { 
$p = "hovedsiden";
}
$incfile = "./inc/" . $p . ".php";
if (file_exists($incfile)) { 
include($incfile);
} else {
echo "Nothing here";
}	
?>

 

da blir linkene sånn:

<a href="index.php?p=om_meg">Om Meg</a>
<a href="index.php?p=bilder">Bilder</a>

 

Så legger du filene "bilder" og "om_meg" inn i ei mappe som du kaller "inc"!

Har det sånn nå!

Var ikke det jeg spurte om... :whistle:

Lenke til kommentar
Han spurte om hvordan man gjør at:

http://www.minside.no/index.php?side=omg blir til

http://www.minside.no/omg/

 

Det fikk jeg med mod_rewrite hvis du er interessert i scriptet si i fra. Men i php har jeg ikke fått det til (gadd ikke å gå dypt inn i det). Men det skal være mulig.

Jeg ville ha linker som (Uten bruk av mod_rewrite): http://www.mittdomene.no/index.php/om_meg

Lenke til kommentar
<?php

error_reporting(0);

$info=explode('/',$_SERVER[PATH_INFO]);

$filnavn=$info[1];

$filendelse='.php';

$include='inc/';

if(!$filnavn)

{

$filnavn='forside';

}

if(!eregi("^((.*)/)",$filnavn)&&(file_exists($filnavn.$filendelse)))

{

include$include.$filnavn.$filendelse;

}

else

{

include"404.php";

}

?>

Lag en ommeg.php fil i en mappe som heter inc, så er det bare å åpne index.php/ommeg

Lenke til kommentar

Trengte bare:

$info=explode('/',$_SERVER[PATH_INFO]);

$filnavn=$info[1];

 

Men nå er det vansklig med menyen...

Når jeg er inn på index.php/ommeg og klikker en link som er "index.php/forside" så kommer jeg inn på "index.php/index.php/forside"...

Er den eneste måten å løse det på ved hjelp av full path?

Lenke til kommentar

Altså; php vil ikke kjøres med mindre webserveren vet at ting skal parses med php (f.eks filendelsen .php), dermed tror jeg du _må_ gjøre dette i webserveren på en eller annen måte. Enten det, eller så må du 'fake' det som står i adressefeltet på en eller annen måte.

Endret av geodrive
Lenke til kommentar
Altså; php vil ikke kjøres med mindre webserveren vet at ting skal parses med php (f.eks filendelsen .php), dermed tror jeg du _må_ gjøre dette i webserveren på en eller annen måte. Enten det, eller så må du 'fake' det som står i adressefeltet på en eller annen måte.

Hva mener du med det? Har testet denne "filendelsen" på localhost og den tror at det er en php fil pga .php, dessuten skal <?php kjøre som php uansettt på de fleste webservere ;)

Lenke til kommentar
Hva mener du med det? Har testet denne "filendelsen" på localhost og den tror at det er en php fil pga .php, dessuten skal <?php kjøre som php uansettt på de fleste webservere ;)

Hm... Det hørtes merkelig ut. Men, dersom du har <?php tags i en .html fil, så vil det ikke parses av php, med mindre du har gitt serveren beskjed om at den skal bruke php på filer med .html endelser...

Mener det er slik på apache iallefall.

Lenke til kommentar
Hva mener du med det? Har testet denne "filendelsen" på localhost og den tror at det er en php fil pga .php, dessuten skal <?php kjøre som php uansettt på de fleste webservere ;)

Hm... Det hørtes merkelig ut. Men, dersom du har <?php tags i en .html fil, så vil det ikke parses av php, med mindre du har gitt serveren beskjed om at den skal bruke php på filer med .html endelser...

Mener det er slik på apache iallefall.

Korrekt. Du kan få PHP til å lete gjennom alle filer med den enkle Apache-kommandoen

AddType application/x-httpd-php .XXX

 

Du kan til og med tvinge PHP til å parse enkelte filer med ForceType (som har samme syntaks som funksjonen over, hvis jeg ikke husker feil).

Lenke til kommentar
Sorry for sent svar.

Egentlig ville jeg bare prøve det for å lære, her er hva jeg vil gjøre om til hva:

www.mittdomene.no/mappe/index.php?forside

skal bli til:

www.mittdomene.no/mappe/forside

 

Takk!

Med mod_rewrite er dette ingen sak.

 

RewriteEngine on
RewriteRule ^mappe/([^./]+)/?$ mappe/index.php?$1

 

;)

Lenke til kommentar

Som flere har nevnt, du må bruke mod_rewrite. Du må. Alt annet blir bare tåpelige hacks og uoversiktelig vissvass. Benytt rewrite-regler i htaccess-filer, så er ikke dette noe problem. Jeg tipper 90% eller flere av alle leverandører av webhotell i Norge støtter mod_rewrite.

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...