![如何避免在 Apache2 VirtualHosts 中的多个目录指令中重复允许/拒绝访问控制语句?](https://linux22.com/image/593849/%E5%A6%82%E4%BD%95%E9%81%BF%E5%85%8D%E5%9C%A8%20Apache2%20VirtualHosts%20%E4%B8%AD%E7%9A%84%E5%A4%9A%E4%B8%AA%E7%9B%AE%E5%BD%95%E6%8C%87%E4%BB%A4%E4%B8%AD%E9%87%8D%E5%A4%8D%E5%85%81%E8%AE%B8%2F%E6%8B%92%E7%BB%9D%E8%AE%BF%E9%97%AE%E6%8E%A7%E5%88%B6%E8%AF%AD%E5%8F%A5%EF%BC%9F.png)
在 Apache2 上,我有一个 VirtualHost,其中包含许多<Directory>
包含多个访问控制语句的指令/部分
IE
<Directory /foo>
Order Deny,Allow
Deny from all
Allow from ...
Allow from ...
...
</Directory>
...
有没有办法在更高级别(以上<Directory>
)指定访问控制?还是我应该使用宏?
提前致谢!
答案1
如果我理解你的问题,你正在寻找一种方法来将一组允许/拒绝限制应用于一组可能没有共同父级的目录。
您可以将所有允许/拒绝指令放入单独的文件中(将其命名为,/etc/httpd/conf.d/accesslist
或任何在您的发行版中有意义的名称),然后使用该Include
目录在适当的位置包含这些规则:
<Directory /some/directory>
Include /etc/httpd/conf.d/accesslist
</Directory>
<Directory /another/directory>
Include /etc/httpd/conf.d/accesslist
</Directory>
但是如果您的目录都共享一个通用配置,则可以使用类似方法mod_macro
创建具有变量替换的可重复使用模板。