solución de Molomby trabaja en 2.4 y superior, pero no funciona con la versión actual de Debian 2.2.22.
Las soluciones de Ben/Chris Heald tampoco me funcionaron en 2.2.22, pero eso se debió a una configuración diferente de orden/satisfacción. Estas configuraciones han cambiado con 2.4 y la solución parece ser incompatible con 2.4 y superior (el redireccionamiento funciona, pero el navegador solo muestra un error no autorizado sin pedir credenciales).
Aquí es una combinación de las dos soluciones que deben trabajar para las versiones debajo y por encima de 2,4:
RewriteEngine on
RewriteOptions Inherit # rewrite rules from parent directories
RewriteCond %{HTTPS} off
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
AuthType Digest
AuthName "private area"
AuthDigestProvider file
AuthUserFile /path/to/file/.htdigest
<IfVersion < 2.4>
Order Deny,Allow
Deny from all
Satisfy Any # reset this to 'All' in custom <Files> and <Directory> directives that block access
Allow from env=!HTTPS
Require valid-user
</IfVersion>
<IfVersion >= 2.4>
<If "%{HTTPS} == 'on'">
AuthMerging And
Require valid-user
</If>
</IfVersion>
Requisitos: mod_rewrite, mod_auth, mod_digest, mod_version
Tienes que HTTP y HTTPS sitios declarados en las entradas de host virtuales separadas, de modo de configuración para uno no va a interferir con otro . Cuando termine, la regla de reescritura debe estar en http uno y auth en https one (Todo esto supone que usted accede al sitio solo a través de HTTPS). – LazyOne