it-swarm.com.de

Unterschied zwischen den Apache-Anweisungen <Location> und <Directory>

Ich habe Zend Server installiert und festgestellt, dass meiner httpd.conf-Datei Folgendes hinzugefügt wurde:

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

Aber ich kann den Unterschied zwischen Ort und Verzeichnis nicht verstehen. Ich habe zu etwas wie dem folgenden gewechselt, was für mich sinnvoller ist und immer noch funktioniert:

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

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

Kann ich meine Änderungen behalten oder sollte ich sie wieder so einsetzen, wie sie waren?

31
rfgamaral

Die Direktive Directory funktioniert nur für Dateisystemobjekte (z. B./var/www/mypage, C:\www\mypage), während die Direktive Location nur für URLs funktioniert (der Teil nach dem Domainnamen Ihrer Site, zB www.mypage.com/mylocation).

Die Verwendung ist unkompliziert - Sie würden Location verwenden, wenn Sie die Zugriffsrechte über eine URL optimieren müssen, und Sie würden Directory verwenden, wenn Sie die Zugriffsrechte auf ein Verzeichnis (und seine Unterverzeichnisse) steuern müssen ) im Dateisystem.

43
ipozgaj

Der Speicherort kann bei Verwendung einer AJP- oder Proxy-Umleitung verwendet werden. Das PLSQL APEX-Modul von Oracle verwendet beispielsweise die folgende URL:/pls/apex/f? P = 1: 1

Wenn Sie versuchen, dies mithilfe des Verzeichnisses einzuschränken, funktioniert es nie, da es sich um ein Durchgangsverzeichnis und nicht um ein physisches Verzeichnis auf dem Server handelt. Ort funktioniert!

2
Al Garrison