Rozwiązanie Molomby działa w wersji 2.4 i wyższej, ale nie działa z obecną wersją Debiana 2.2.22.
Rozwiązania Ben's/Chris Heald również nie działały dla mnie w wersji 2.2.22, ale było to spowodowane inną konfiguracją zamówienia/spełnienia. Te ustawienia zmieniły się w wersji 2.4, a rozwiązanie wydaje się być niezgodne z wersją 2.4 i nowszą (przekierowanie działa, ale przeglądarka wyświetla tylko nieautoryzowany błąd bez pytania o dane uwierzytelniające).
Oto połączenie obu rozwiązań, które powinny działać w wersjach poniżej i powyżej 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>
Wymagania: mod_rewrite, mod_auth, mod_digest, mod_version
trzeba mieć HTTP i HTTPS witryn deklarowane w odrębnych wpisów hostów wirtualnych, więc config dla jednego nie będzie kolidować z innym . Po zakończeniu, reguła przepisywania powinna znajdować się w http jeden, a uwierzytelnianie w https jeden (to wszystko zakłada, że uzyskujesz dostęp do strony tylko przez HTTPS). – LazyOne