htaccess filen behandlar endast den katalogen den befinner sig i (som default). För generella ändringar rekommenderar jag att du gör rewrites i site-filen.
Först kollar vi så att vi har modulen som sköter rewrite
<IfModule mod_rewrite.c>
...RewriteRules...
</IfModule>
Sedan aktiverar vi den
RewriteRule är ganska enkel, det som krånglar till det för de flesta är regular expressions som den använder sig av.
Men om vi t.ex. vill skriva om "hej" till "sidor/hej.htm" så skriver vi bara
RewriteRule hej sidor/hej.htm
Om vi vill att den inte skall göra skillnad på stora och små bokstäver använder vi oss av "[NC]":
RewriteRule hej sidor/hej.htm [NC]
Problemet är nu att den ersätter alla "hej" med "sidor/hej.htm" i adressen. Ofta vill du kanske bara ersätta det sista i adressen, det är nu regular expressions kommer in. "$" matchar enbart slutet, så om vi vill att "www.adress.se/heja" inte blir "www.adress.se/sidor/hej.htma" så skriver vi så här:
RewriteRule hej$ sidor/hej.htm [NC]
Men nu matchar den ju "www.adress.se/ohej" som "www.adress.se/osidor/hej.htm"
"ohej" är ju något annat, då använder vi oss av "^" som matchar början, alltså:
RewriteRule ^hej$ sidor/hej.htm [NC]
exempel:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^hej$ sidor/hej.htm [NC]
</IfModule>