That would simply be because your either connecting as HTTP, and/or you have no SSL certificate installed. The only way around that is to install an SSL certificate and connect with HTTPS, which you can force visiting browsers to do.
Correct. A .htaccess redirect doesn’t require an index file to be present as long as it’s configured to happen regardless of URL.