Diferença entre Diretivas Apache de Localização e Diretório

23

Eu tenho o Zend Server instalado e notei que algo como o seguinte foi adicionado ao meu arquivo 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>

Mas não consigo entender a diferença entre Localização e Diretório . Eu mudei para algo como o seguinte, o que faz mais sentido para mim, e ainda funciona:

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

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

Posso manter minhas alterações ou devo colocá-las de volta como estavam?

    
por Ricardo Amaral 01.11.2010 / 17:02

2 respostas

34
A diretiva

Directory funciona apenas para objetos do sistema de arquivos (por exemplo, / var / www / mypage, C: \ www \ mypage), enquanto a diretiva Location funciona somente para URLs (a parte após o nome do domínio do site, por exemplo, www. mypage.com/mylocation).

O uso é direto - você usaria Location se precisar ajustar os direitos de acesso por um URL e usaria Directory se precisar controlar os direitos de acesso a um diretório (e seus subdiretórios) no sistema de arquivos.

    
por 01.11.2010 / 17:13
2

O local pode ser usado ao usar um redirecionamento AJP ou proxy. Por exemplo, o módulo PLSQL APEX da Oracle usa o seguinte URL: / pls / apex / f? P = 1: 1

Se você tentar restringir isso usando o diretório, ele nunca funcionará, já que é um diretório pass-thru e não físico no servidor. Localização funciona!

    
por 19.05.2015 / 23:03