Назад | Перейти на главную страницу

Difference between <location> и <directory> Директивы Apache</directory></location>

У меня установлен Zend Server, и я заметил, что в мой файл httpd.conf было добавлено что-то вроде следующего:

<Location /ZendServer>
 Order Allow,Deny
 Allow from 127.0.0.1
</Location>

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

<Directory "C:\Program Files\Zend\ZendServer\GUI\html">
 AllowOverride All
</Directory>

Но я не могу понять разницу между Расположение и Каталог. Я изменил это на что-то вроде следующего, что мне кажется более понятным, и оно все еще работает:

<Location /ZendServer>
 AllowOverride All
 Order Allow,Deny
 Allow from 127.0.0.1
</Location>

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

Могу ли я сохранить свои изменения или вернуть все как было?

Directory Директива работает только для объектов файловой системы (например, / var / www / mypage, C: \ www \ mypage), а Location Директива работает только для URL-адресов (часть после имени домена вашего сайта, например, www.mypage.com/mylocation).

Использование простое - вы должны использовать Location если вам нужно точно настроить права доступа по URL-адресу, и вы должны использовать Directory если вам нужно контролировать права доступа к каталогу (и его подкаталогам) в файловой системе.

Местоположение может использоваться при использовании перенаправления AJP или прокси. Например, модуль Oracle PLSQL APEX использует следующий URL: / pls / apex / f? P = 1: 1

Если вы попытаетесь ограничить использование этого каталога, он никогда не сработает, так как это сквозной, а не физический каталог на сервере. Расположение работает!