之间的区别和Apache 指令

之间的区别和Apache 指令

我已经安装了 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"

我可以保留更改吗?还是应该将其恢复原状?

答案1

Directory指令仅适用于文件系统对象(例如 /var/www/mypage、C:\www\mypage),而Location指令仅适用于 URL(网站域名后的部分,例如 www.mypage.com/mylocation)。

使用方法很简单 -Location如果您需要通过 URL 微调访问权限,则可以使用它;Directory如果您需要控制文件系统中目录(及其子目录)的访问权限,则可以使用它。

答案2

使用 AJP 或代理重定向时可以使用位置。例如,Oracle 的 PLSQL APEX 模块使用以下 URL:/pls/apex/f?p=1:1

如果您尝试使用目录来限制这一点,它将永远不会起作用,因为它是直通目录,而不是服务器上的物理目录。位置有效!

相关内容