HTTPS is HTTP over SSL/TLS, which secures the transport layer, that is, the communication between the browser and the web server.
mod_rewrite rewrites requests internally or externally via redirects, but only once the request has been sent by the browser, which is too late in your case.
If you want to use your content normally hosted on plain HTTP via an HTTPS connection, you could set up a reverse proxy from the HTTPS host to the plain HTTP host.
mod_proxy_http, which is bundled by default with Apache 2.x, would be able to rewrite
Location headers in redirect, but not the content of the pages themselves (and their links). To do so, you may have to look at
mod_proxy_html, which should be able to rewrite the links within the pages themselves.
This being said, having absolute links in your
inc-navigation.html file sounds like a design mistake, it may be easier to do a search/replace to get rid of these absolute links in that file than setting up
If some of the absolute links you're using point to other hosts, you may be able to use network-path relative references (starting with
//, thus making the scheme relative). This would only work of course if these hosts are HTTPS-enabled.