49 votes

Différence entre les directives Apache <Location> et <Directory>

J'ai Zend Server installé et j'ai remarqué que quelque chose comme ce qui suit avait été ajouté à mon fichier httpd.conf :

 Order Allow,Deny
 Allow from 127.0.0.1

Alias /ZendServer "C:\Program Files\Zend\ZendServer\GUI\html"

 AllowOverride All

Mais je ne semble pas comprendre la différence entre Location et Directory. J'ai changé pour quelque chose comme ce qui suit, qui a plus de sens pour moi, et ça fonctionne toujours :

 AllowOverride All
 Order Allow,Deny
 Allow from 127.0.0.1

Alias /ZendServer "C:\Program Files\Zend\ZendServer\GUI\html"

Puis-je garder mes modifications ou devrais-je remettre tout comme avant ?

60voto

fredrik Points 144

La directive Directory ne fonctionne que pour les objets de système de fichiers (par exemple /var/www/mypage, C:\www\mypage), tandis que la directive Location ne fonctionne que pour les URL (la partie après le nom de domaine de votre site, par exemple www.mypage.com/mylocation).

L'utilisation est simple - vous utiliseriez Location si vous avez besoin de peaufiner les droits d'accès par URL, et vous utiliseriez Directory si vous avez besoin de contrôler les droits d'accès à un répertoire (et ses sous-répertoires) dans le système de fichiers.

2voto

Sebastian Keller Points 521

L'emplacement peut être utilisé lors de l'utilisation d'une redirection AJP ou proxy. Par exemple, le module PLSQL APEX d'Oracle utilise l'URL suivante : /pls/apex/f?p=1:1

Si vous essayez de restreindre cela en utilisant un répertoire, cela ne fonctionnera jamais car il s'agit d'une passe directe et non d'un répertoire physique sur le serveur. L'emplacement fonctionne!

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X