Ci-dessous mon VHost (qui est légèrement modifié pour masquer certains URLS):Apache protège tous les chemins, mais la liste blanche un chemin spécifique
1 NameVirtualHost 192.168.1.49:80 2 3 <VirtualHost 192.168.1.49:80> 4 ServerName internal-name.local 5 ServerAlias *.internal-name.local external-domain.co.uk *.external-domain.co.uk 6 7 <Directory "/var/www/html"> 8 AllowOverride All 9 10 Order deny,allow 11 Deny from all 12 13 AuthName "Restricted Development Server" 14 AuthUserFile /var/www/html/.htpasswd 15 AuthType Basic 16 Require valid-user 17 18 Allow From 192.168.1. 19 20 Satisfy Any 21 </Directory> 22 23 <Location /open-path > 24 Order Allow,Deny 25 Allow From All 26 Deny From None 27 </Location> 28 29 LogLevel debug 30 VirtualDocumentRoot /var/www/html/%1/ 31 </VirtualHost>
Tout fonctionne très bien - chaque sous-domaine obtient son propre dossier dans/var/www/html. Toutes les demandes de 192.168.1.x (via une carte de domaine interne) peuvent afficher le site sans invites de mot de passe. Toutes les demandes provenant d'IP externes (via external-domain.co.uk) seront invitées à entrer un mot de passe.
Le problème que je rencontre est de faire fonctionner cette dernière règle de "localisation".
Rien de ce que je fais (que ce soit le niveau .htaccess ou vhost) en utilisant ou désactiverai la protection par mot de passe pour l'URL "/ open-path".
En fait - chaque site sur ce serveur est en cours d'exécution Drupal qui utilise une réécriture d'URL dans le .htaccess qui mappe tous les non-fichiers sur « q =? » ... Alors: http://domain/foo/bar cartes pour: http://domain/index.php?q=foo/bar
Je ne pense pas que cela devrait affecter cela, devrait-il?
La raison pour laquelle je le signale est que "/ open-path/callback" doit être ouvert pour qu'une API tierce puisse "pinguer" le site. J'ai besoin de tester ce rappel fonctionne avant de pousser à vivre, mais je ne veux pas dévoiler l'ensemble du site de la protection par mot de passe.
J'ai essayé de définir l'emplacement à "/index.php?q=open-path", cela n'a pas fonctionné non plus.
Toute suggestion serait grandement appréciée!
A travaillé parfaitement! :-) Désolé pour la réponse massivement retardée, juste en passant et en rangeant mes questions sans réponse. – Nick