如何避免在 Apache2 VirtualHosts 中的多個目錄指令中重複允許/拒絕存取控制語句?

如何避免在 Apache2 VirtualHosts 中的多個目錄指令中重複允許/拒絕存取控制語句?

在 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來建立具有變數替換的可重複使用範本。

相關內容