Salve a tutti, ho un "piccolissimo" problema col mio .htaccess. Dunque:

Se nel browser apro
h**p://www.miodominio.it/item/mia_chiave
voglio che carichi
h**p://www.miodominio.it/index.php?show=item&id=mia_chiave

codice:
RewriteRule ^/?item/([a-zA-Z_']+)/?$ index.php?show=item&id=$1 [L]
Quest'istruzione presa singolarmente funziona


Se nel browser apro
h**p://www.miodominio.it/index.php?show=item&id=mia_chiave
voglio che l'url visualizzato sia
h**p://www.miodominio.it/item/mia_chiave

codice:
RewriteCond %{QUERY_STRING} ^show=item&id=(.*)$
RewriteRule ^index\.php$ /item/%1/? [R=301,L]
E anche quest'istruzione presa singolarmente funziona

Messe insieme però formano un qualcosa che suppongo sia un loop infinito..


Ho provato a sostituire la seconda istruzione con questa (che ho trovato qui)
codice:
RedirectMatch 301 index.php?show=item&id=(.*) /item/$1
ma per qualche oscuro motivo se metto del testo dopo il punto interrogativo (in questo caso "show=item&id=") l'istruzione non viene più eseguita. Ho provato anche a a sostituire "?" con "\?" ma niente.

Come fare?