Your rules are ambiguous, since they do not use start anchors, but that is not the likely problem. Rather, it seems that your expectations about what mod_rewrite does, and when it does it are not correct.
mod_rewrite acts *after* a user clicks on one of your links, sending an HTTP request to your server. Mod_rewrite receives this request, and can do one of several things. The most common actions are to internally rewrite the request to a different file path that what would be expected if the rewrite was not present, or to generate an external redirect to tell the browser to ask for the requested resource again, using a different URL.
Mod_rewrite cannot change the links that appear on your CMS-generated pages -- only your CMS can do that.
You'll need to modify your CMS to produce the correct URLs, and then mod_rewrite will rewrite them, when they are received from the client, to your "index.php" script.
For more information on the client-server transaction, and when and how mod_rewrite comes into play, see this thread, "Changing Dynamic URLs to Static URLs [webmasterworld.com]."
Additional information is available in our Forum Charter, and in the Apache forum Library -- See links at top of this page.