Aluksi luodaan .htaccess tiedosto. Windows koneilla voi tulla herjaa tälläisestä tiedostosta, joten kannattaa vaikka luoda txt.htaccess tiedosto, siirtää se palvelimelle, muokata pois ftp ohjelmalla tuo txt pois.
Nyt sitten tekemään koodia. Avataan .htaccess ja lisätään sinne tälläinen pätkä koodia:
- Koodi: Valitse kaikki
#AllowOverride All
RewriteEngine On
Jos et ole aikaisemmin käyttänyt kommentointia tiedostoissa, kannattaa se opetella nyt. Helpottaa myöhemmässä vaiheessa muokkausta ja virheiden etsintää.
Otetaan tuo aikasempi osoite esimerkkinä. Jatketaan .htaccess muokkaamista.
Lisää seuraava koodi pätkä:
- Koodi: Valitse kaikki
#Foorumi
RewriteRule ^uusi_aihe_([0-9]+).html posting.php?mode=newtopic&f=$1
Tämän muokkauksen jälkeen, jos kirjoitat osoite kenttään http://jaaari.no-ip.com/foorumi/uusi_aihe_28.html pitäisi ilmestyä tämä samainen kirjoitussivu. Mutta käydään vähän koodia läpi enemmän.
#Foorumi merkinnällä kommentoin itselleni muistiin, että tämän alapuolelle tulee kaikki foorumi osion linkitykset. Helpottaa huomattavasti myöhemmän vaiheen muokkausta sekä virheiden etsintää. Mieti jos kaikki olisivat yhteen pötköön.
RewriteRule tarkoittaa, että aloitettaan osoitteen uudelleenkirjoitus. Pitää olla jokaisen linkin alussa.
^uusi_aihe_([0-9]+).html määritellään uusi sivu, jonne linkitettään. ([0-9]+) tarkoiteaan, että tähän tulee numeroja 0-9 välillä ja sitä voidaan kasvattaa.
posting.php?mode=newtopic&f=$1 on sitten se "oikea" osoite, joka on alunperin koodattu. $1 merkki lopussa tarkoittaa ensimmäistä x arvoa (huomaat sen merkityksen toisessa esimerkissä).
Näin alkaa siis olemaan ensimmäinen esimerkki käyty läpi.
Tässä vielä toinen, joka on täysin hatusta heitetty:
http://osoite/index.php?id=kayttajat&kayt=Jaska&id=10
Erittäin pitkä osoite rivi ja tuon voisi tietysti tehdä vaikka näin:
http://osoite/kayttajat/Jaska/10
Paljon siistimpi?
Tässä tulee koodi:
- Koodi: Valitse kaikki
#Käyttäjät
RewriteRule ^kayttajat/([a-zA-Z]+)/([0-9]+) index.php?id=kayttajat&kayt=$1&id=$2
Uusin asia tässä oli, että voit myös käyttä erottimena / merkkiä. Ei ole pakko käyttää _ tai - jne. Toinen, oli ([a-zA-Z]+). Tällä merkataan, että tähän tule teksti sisältää vain kirjaimia, a-z pienellä ja/tai A-Z isolla.
Muistathan muokata koodisi oikean muotoiset linkit, esimerkkinä tämä viimeinen:
- Koodi: Valitse kaikki
<?php
/*
Tämä on vain esimerkki
*/
$kayt = "Jaska"; //Haetaan tietokannasta
$id = "10"; //Haetaan tietokannasta
echo "Katso $kayt <a href=\"kayttajat/$kayt/$id\">profiilia</a>";
?>
Vielä viimeinen vinkki:
Voit myös käyttää tälläistä yhdistelmää: ([a-zA-Z0-9]+)
Toivottavasti saatte selvää tästä.

