Začneš tako, da v htaccess postaviš nekaj takega:
RewriteEngine On
RewriteCond %{REQUESTFILENAME} !-f
RewriteCond %{REQUESTFILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]
Prva vrstica pomeni, da se vklopi mod_rewrite, ki mora biti nameščen na apache. Prav tako mora v apache.conf biti določeno
AllowOverride FileInfo
ali
AllowOverride All
ki prepriča apache, da upošteva Rewrite v .htaccessu
Druga in tretja vrstica (RewriteCond) sta zato, da se url rewrite izvede samo, če datoteka (-f) in direktorij (-d) NE obstajata.
Zadnja vrstica je dejanski rewrite. Kar naredi je to, da karkoli vpišeš po tisti mapi, v kateri se .htaccess nahaja, bo request še vedno obdelal index.php.
Če želiš izvedet, kaj dejansko je bilo poslano, moraš to obdelat v php. Izpišeš si vrednost spremenljivke $_SERVER in gledaš, kaj se dogaja, ko spreminjaš url.
Za bolj kompleksne rewrite se moraš poglobit v regular expressione. Ampak načeloma zgornje 4 vrstice zadoščajo, če vse requeste obdela index.php, razen za tiste datoteke, ki obstajajo (npr pripadajoče slike, stylesheet, skripte...)
Toliko za začetek, za več pa, veselo na delo in eksperimentirat...