web-dev-qa-db-fra.com

Protéger par mot de passe un répertoire virtuel alias

J'ai un domaine principal hébergé par CPanel. J'ai également un sous-domaine dans lequel j'aimerais apparaître sous forme de chemin sous le domaine principal plutôt que sous-domaine. Donc j'ai:

http://example.com/ pointing to the main hosted file.
http://example.com/mydir pointing to the subdomain files.

Ceci est réalisé par un httpd.conf inclus dans la section principale du domaine pour définir un alias:

alias /mydir /path/to/subdomain/files/

Maintenant, cela fonctionne bien jusqu'à présent.

Le problème est que si un fichier .htaccess sous /path/to/the/subdomain/files/ contient une erreur, l'alias est complètement ignoré et /mydir se place à la place dans les fichiers principaux de l'hôte. Cela me surprend un peu - je m'attendrais à ce qu'une erreur retourne une erreur à la place.

Maintenant, le tueur: si j'essaie de protéger par mot de passe /path/to/subdomain/files/, alors essayer d'accéder à http://example.com/mydir tentera à nouveau de livrer à partir des fichiers hébergés principaux et non de /path/to/subdomain/files/.

Je ne vois aucune erreur signalée dans le fichier . Htaccess dans le journal des erreurs Apache. Je suppose donc que . Htaccess est valide:

AuthUserFile /path/to/valid/readable/.htpasswd
AuthName "Secure Access"
AuthType Basic
Require valid-user

Ce genre de comportement ne me semble pas correct. Y a-t-il quelque chose d'évident qui pourrait être la cause? Ou est-ce juste la façon dont cela fonctionne? Peut-être que l'utilisation d'un alias est la mauvaise façon de faire?

4
Jason

Devez-vous utiliser . Htaccess pour l’authentification?

Je sais que vous pouvez simuler ceci dans PHP avec $_SERVER['PHP_AUTH_USER'] ( documentation ici ). Cela ne fonctionnerait que pour PHP, mais d'autres langages supportent probablement ce genre de chose.

1
user28412