It sounds like you may have put the directives in the wrong place in your .htaccess
file. The HTTP to HTTPS redirect needs to go near the top, before any other rewrites.
The nature of your URLs suggest you are using a front-controller type pattern and rewriting requests to a common script. However, the "homepage" does not need to be rewritten (since mod_dir will issue an internal subrequest for the directory index). If you place the mod_rewrite redirect after the front-controller then all but the homepage will be redirected.