J'ai une partie de mon site web protégée par auth_basic
:
location / {
auth_basic "Authorization Required";
auth_basic_user_file .htpasswd;
index app.php;
try_files $uri @rewriteapp;
}
Pour les utilisateurs non autorisés (ceux qui cliquent sur 'Annuler'), je voudrais afficher une page d'erreur personnalisée. Voici comment je l'ai fait :
error_page 401 = @error401;
location @error401 {
rewrite ^ /error/401.html redirect;
}
location /error {
expires max;
add_header Pragma public;
add_header Cache-Control "public";
index app.php;
try_files $uri @rewriteapp;
}
J'ai dû créer l'alias @error401 afin de pouvoir spécifier "Redirect", car si j'utilisais la redirection interne, mon application traiterait la demande initiale (et donnerait accès à la page demandée réellement !)
Donc cela fonctionne bien, la page s'affiche. Le problème est que maintenant nginx ne demande même pas les informations d'identification aux utilisateurs.
Y a-t-il un moyen de corriger cela ? Ou toute autre meilleure façon de gérer ce problème?