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?
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.