lucy24 - 8:49 am on Aug 24, 2012 (gmt 0)
RewriteRule ^index\.php(/(.*))?$ http://www.example.com/$2 [R=301,L]
What would you expect to find after "index.php"? (Please don't say "a query string". It's almost 2AM and I can't deal with it.)
This Rule works only on the top-level site index, because you've put your opening anchor right in front of the "index.php" both in the Rule itself and in the Condition. Did your cat walk across the keyboard? Somehow the pattern seems to have got turned backward.