Bonjour monde,

J'ai un site web perso hébergé chez O2switch. J'ai mis une authentification par htpasswd, et activé le HTTPS (par Let's Encrypt).Seulement quand j'active dans le .htaccess la redirection http vers https, l'authentification ne fonctionne plus, on accède au site (sans aucun script et css, mais on peut en voir le contenu).

J'essaye de lire la doc sur le site d'Apache et de chercher une solution sur des fora, mais je n'en viens pas à bout, c'est toujours l'authentification ou le HTTPS qui fonctionne, mais jamais les deux ensemble.

Voici mon htaccess :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 
### Let's Encrypt
RewriteRule ^\.well-known/acme-challenge - [L]
 
### tests
SetEnv APPLICATION_ENV production
SetEnv OPERATING_SYSTEM linux
 
RewriteEngine On
 
### HTTP -> HTTPS
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
 
### rewrite url
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
 
### Videos types
AddType video/ogg  .ogv
AddType video/mp4  .mp4 .m4v .f4v .f4p
AddType video/webm .webm
 
### Encoding files
AddDefaultCharset UTF-8
AddCharset UTF-8 .html .css .js
 
### no authentification for the rss url (public)
SetEnvIfNoCase Request_URI "/rss$" allow
 
AuthType Basic
AuthName "Please authenticate"
AuthUserFile "/home5/user/.htpasswds/public/mywebsite/passwd"
Require valid-user
 
Order Deny,Allow
Deny from all
Allow from env=allow
 
Satisfy any
 
### Compression
AddOutputFilterByType DEFLATE text/text application/xml application/xhtml+xml text/html text/javascript text/css text/plain
Le https est activé dans l'interface de gestion de l'hébergeur (ça passe par Let's Encrypt), c'est actif avec la 1e ligne du htaccess. Et ensuite j'utilise la partie "### HTTP -> HTTPS" du htaccess, hors dans ce cas ça bypasse l'authentification.

Pour l'authentification, ce sont les 8 lignes qui démarre par AuthType Basic jusqu'à Satisfy any. Je les laisse toujours décommentées (en http et https) car je veux toujours qu'on s'authentifie, sauf que si j'ai décommenté les lignes du https, l'authentification ne se fait pas. Pour être plus précis, j'ai bien la fenêtre qui demande le login, mais si je fais Annuler, je peux quand même voir le contenu du site (le html brut s'affiche, sans js et css).

Je n'ai pas la possibilité de voir le vhost, c'est un héberment mutualisé, donc je ne peux agir que sur ce htacces.

Qu'est-ce qui cloche là dedans ?

Merci pour votre aide.