Oletetaan vaikka että sivustollani olisi vaikka uutisia ja käyttäjäprofiileja joita haetaan dynaamisesti tietokannasta.
Uutisenhan voisi hakea esimerkiksi get-parametreilla tyyliin: http://osoite/uutiset.php?id=n
ja http://osoite/kayttajat.php?tunnus=x
Monilla sivustoilla näkyy kuitenkin nykyisin hieman erinäköisiä toteutustapoja samanlaiselle systeemille:
http://osoite/uutiset/n ja
http://osoite/kayttajat/x
Eli siis skriptille syötetään dataa osoiteriviltä jollain eri tavalla kuin perinteisillä GET-muuttujilla. Ensimmäinen näennäinen alihakemisto siis määrittäisi mikä alasivu on kyseessä (uutiset vai käyttäjät) ja seuraava sitten sen, mitä ID:tä etsitään tietokannasta.
Kuinka tällä tavalla toimiva sivusto olisi mahdollista tehdä?
Muistaakseni seuraava linkki käsittelee aihetta:
http://corz.org/serv/tricks/htaccess2.php
On olemassa myös toinen tapa:
http://palvelin/index.php/jotain/muuta/
<?php # index.php echo $_SERVER["PATH_INFO"]; # "/jotain/muuta/" ?>
Näin on helppo tehdä PHP:llä hallittava virtuaalihakemistorakenne, eikä tarvitse säätää htaccessia tai muuta rewrite-moduulia.
Tämän tavan toiminta voi olla palvelimen asetuksista kiinni. Ainoalla käyttämälläni Windows-palvelimella systeemi ei toiminut (mikä aiheutti melkoisesti harmaita hiuksia, kun piti sitten kiireessä modailla tuntematonta ja täysin kommentoimatonta Perl-softaa palvelimen rajoitusten mukaiseksi >_>).
Aika villiä olettaa että tuo toimisi missään. Siis toki varmaan erityistapauksia on (esim. jokin yleisesti käytetty www-palvelinsofta), joissa palvelin osaa poimia keskellä polkua olevan "hakemiston" ja huomata että se onkin tiedosto...
Kyllähän meikällä ainakin ihan suoraan tuo toimii. Palvelin taitaa automaagisesti tunnistaa tuon tiedostopäätteen, jonka perusteella toimia.
Onhan tuollainen index.php/parametri/foobar muistaakseni Wordpressissä ja Joomla!:ssa ihan vakiona mukana.
Aihe on jo aika vanha, joten et voi enää vastata siihen.