Question Pourquoi est-il permis de ne pas le faire ici dans apache2


J'ai le suivant dans mon httpd.conf fichier:

<Directory "/www">
    Options Indexes FollowSymLinks
    AllowOverride AuthConfig FileInfo Options=Indexes,Limit
    Order allow,deny
    Allow from all
</Directory>

Ensuite, j'ai un répertoire ChatLogs situé à la racine du serveur, avec un .htaccess fichier défini comme suit:

Allow from all
AuthName "Restricted Area"
AuthType Basic
AuthUserFile /www/.htpasswd
AuthGroupFile /dev/null
Require valid-user

et lorsque j'essaie d'accéder au répertoire, j'obtiens une erreur de serveur 500 avec les informations suivantes dans les journaux du serveur (10.109.1.92 est mon IP intranet):

[alert] [client 10.109.1.92] /www/ChatLogs/.htaccess: allow not allowed here

Je comprends que cela est dû à la déclaration suivante dans .htaccess fichier:

Allow from all

mais quelqu'un pourrait-il expliquer pourquoi est-ce que Allow directive non autorisée? Je souhaite ultérieurement limiter l'accès à certaines plages d'adresses IP; et préfèrerait s’il peut être placé dans des répertoires singuliers au lieu de les mettre en httpd.conf fichier.


6
2017-09-26 07:48


origine




Réponses:


Parce que tu as une virgule avant Limit. Cela fait en sorte que Apache l’analyse comme s’il faisait partie d’options plutôt qu’un remplacement distinct. Pensez-y comme ceci:

AllowOverride 
               AuthConfig
               FileInfo 
               Options=Indexes,Limit

Ce que tu veux c'est à la place

AllowOverride AuthConfig FileInfo Limit Options=Indexes

Il y a plus d'informations sur la documentation de base Apache.


5
2017-10-04 11:23



Mais les virgules sont autorisées selon la documentation ici - hjpotter92
Les virgules sont autorisées entre options, pour créer une liste d’options. Limit est une directive distincte et ne devrait pas faire partie de la liste des options. Je ne sais pas comment le dire plus clairement que cela. - Jenny D
<strike> N'est-ce pas la même chose pour Indexes aussi bien? </ strike> Ça ne fait rien. Je comprends maintenant. :) j'ai eu confus ce avec les listes AllowOverride Directive. - hjpotter92
Je suis content que ça fonctionne! Cela peut être un peu déroutant d'avoir une liste dans une liste :-) - Jenny D