[URL rewriting] Erreur 401 sur redirection
Bonjour !
Je vous explique ma situation.
J'ai un serveur de développement protégé par authentification via Apache (/www inaccessible sans login/mdp).
Je veux enlever toute forme d'authentification sur un répertoire contenu dans /www pour certaines IP : exemple => /www/toto
Je rajoute donc la ligne qui va bien dans mon httpd.conf :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <Directory "/home/monsite/www/toto">
AuthType Basic
AuthName "Restricted access"
AuthUserFile /usr/local/apache2/passwds
Require user admin
AllowOverride All
Order allow,deny
Options ExecCGI FollowSymLinks
Allow from IP_1
Allow from IP_2
Allow from IP_3
Satisfy any
</Directory> |
Jusque là tout va bien, je teste avec IP_1, je peux accéder à /www/toto/mon_script.php sans autorisation. C'est gagné !
Mais c'est là que les choses se corsent.
Ce fichier /www/toto/mon_script.php n'est pas censé être atteint en faisant une requête directement dessus. En effet, ce script est un gestionnaire d'API REST. En gros je redirige vers lui toutes les requêtes du style http://www.monsite.com/api/param1/param2 ... etc
Je fais donc cette redirection dans .htaccess avec quelque chose du style
Code:
1 2 3
| RewriteEngine on
Options +FollowSymLinks
RewriteRule ^api/ toto/mon_script.php |
La redirection en elle même fonctionne parfaitement bien, MAIS, si j'effectue une requête sur http://www.monsite.com/api/quelquechose avec IP_1, j'ai une demande d'authentification alors que la ressource réelle à laquelle il accède est "ouverte" !
Je résume
IP_1 : GET http://www.monsite.com/toto/mon_script.php => OK, pas d'authentification.
IP_1 : GET http://www.monsite.com/api/quelquechose (qui donc est redirigé vers http://www.monsite.com/toto/mon_script.php) => PAS OK, 401 - authentification requise.
Comment contourner l'authentification dans ce cas-là ?
Merci d'avance à ceux qui auront des éléments de réponse :)