Apache - Redirect to https before AUTH
Solution 1:
Regardless of how you have the SSL vhost configured, I'd use this configuration for the non-SSL vhost:
<VirtualHost *:80>
ServerName www.sitename.com
ServerAlias sitename.com others-if-you-like.com
ServerAdmin [email protected]
RedirectMatch ^/(.*) https://www.sitename.com/$1 [L,R]
</VirtualHost>
Add lines for your logging, too, but nothing else is needed. Everything will be redirected permantently to the https:// URL, and the SSL site's .htaccess or other access control stuff won't be handled until after the redirect.
Solution 2:
You can use the redirect directive on http virtualhost to redirect to the https site where authentification is done. You could also use mod_rewrite to do the redirection. The basic things is just to not set authentification on http virtualhost and redirect everything on the https virtualhost where authentication is done.