Vê no log de erro qual erro que dá (se dá ERRO 500 qdo vc testa)
logs/error.log
o meu .htaccess que funciona URL amigável aqui tem o seguinte formato.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)\.htm$ /site.php?secao=$1&conteudo=$2 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+[^/])$ /site.php?secao=$1 [L,QSA]
RewriteRule ^([a-zA-Z0-9]*)/$ /site.php?secao=$1 [L,QSA]
</IfModule>
Onde para todos os acessos à seguinte URL:
http://meusite/teste/testando.htm, ele executa site.php?secao=secao&conteudo=testando
É um CMS que criei e usei URL amigável, por isso os args são secao e conteudo. O .htaccess aceita tb, apenas o nome da seção como por exemplo:
http://meusite/teste/ , neste caso ele vai pegar o último conteúdo cadastrado (site.php?secao=teste).
P.S: vale notar que o .htaccess fica na raiz do site. (www)..