Existe uma diretiva SSLRequireSSL que pode funcionar para você aqui - link
Eu sou um iniciante quando se trata de servidores e eu tenho um problema semelhante ao este . Ao acessar a página da Web desejada, o .htpasswd solicita uma autenticação antes de eu ser redirecionado para https.
Existe alguma solução apenas editando o arquivo .htaccess, porque não tenho permissão para alterar o arquivo conf vhost.
As linhas relevantes no meu arquivo .htaccess até agora são assim:
BlockquotRewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{ENV:HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
AuthType Basic
AuthName "members only"
AuthUserFile /var/www/myweb/.htpasswd
Require valid-user
Existe uma diretiva SSLRequireSSL que pode funcionar para você aqui - link
RequireSSL tem a desvantagem de que, se alguém se conectar a apenas "http: //", terá um acesso negado.
Uma solução mais amigável é ter duas entradas VirtualHost (uma para HTTP, uma para HTTPS) e fazer com que a primeira faça um redirecionamento. Por exemplo
<VirtualHost *:80>
ServerName www.yoursite.com
ServerAlias yoursite.com
Redirect permanent / https://www.yoursite.com/
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
AuthType Basic
AuthName "members only"
AuthUserFile /var/www/myweb/.htpasswd
Require valid-user
....
</VirtualHost>
No seu caso, isso também significa que eles serão redirecionados para o site SSL antes , sendo solicitada uma senha.