reescrever mod e strings de consulta

Estou tentando reescrever algumas cadeias de consulta que tenho no meu URL assim:

foo.com/index.php?page=admin&view=news&action=edit&id=3

para

foo.com/admin/news/edit/3

Mas não consigo descobrir ...

também deve funcionar se eu tiver apenas os parâmetros 'page', por exemplo, pois nem sempre tenho esses 4 parâmetros (página, exibição, ação, id) em meus URLs, é claro.

alguma sugestão?