diff --git a/site/static/.htaccess b/site/static/.htaccess index 0ea4373..24d45a6 100644 --- a/site/static/.htaccess +++ b/site/static/.htaccess @@ -2,6 +2,17 @@ # Sillycone Village # Configuration Apache sécurisée pour site statique Hugo # ===================================================== +# +# ⚠ SYNCHRONISATION : ce fichier gouverne en réalité TOUT le compte OVH +# (vitrine/, horairefacile/, api.php…) une fois déployé à la racine, pas +# seulement ce site Hugo — l'héritage .htaccess d'Apache descend dans tous +# les sous-dossiers. La copie de référence est désormais +# SiteEcoSlow/.htaccess (voir son en-tête pour le détail complet) : c'est +# là que vit le code PHP qui dépend de la règle Authorization ci-dessous, +# et c'est elle que build-output.sh génère automatiquement dans +# output/www/.htaccess. Si vous modifiez l'un des deux fichiers, reportez +# le changement dans l'autre. +# ===================================================== # ----------------------------------------------------- @@ -14,6 +25,20 @@ RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] +# ----------------------------------------------------- +# 1bis. Transmettre l'en-tête Authorization à PHP +# ----------------------------------------------------- +# Sur ce type d'hébergement mutualisé, PHP tourne en CGI/FastCGI : Apache +# ne transmet PAS l'en-tête HTTP Authorization à $_SERVER par défaut. Sans +# cette règle, requireBearer() (php/www/helpers.php) reçoit toujours un +# token vide, quel que soit le Bearer Token envoyé par le client — d'où un +# 401 "Token manquant ou invalide" même avec le bon token (vu sur +# api.php/auth/verify-token). + +RewriteCond %{HTTP:Authorization} ^(.+)$ +RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + + # ----------------------------------------------------- # 2. Protection contre accès fichiers sensibles # -----------------------------------------------------