g1smd - 9:28 am on Mar 3, 2013 (gmt 0)
^(.*)\?*$ is supposed to match what example URLs?
The \?* should be completely redundant as RewriteRule RegEx cannot match query strings, only paths.
You have . in one ruleset and this matches requests for any folder or file except root example.com/
You have .* in the other and this matches requests for any folder or file including root.
I assume you should add an exclusion to the Wordpress code to shop it trying to grab requests for OpenCart URLs.
Detete the ifModule start and end tags. You don't need them.