Apache2 VirtualHosts の複数の Directory ディレクティブにわたって Allow/Deny アクセス制御ステートメントが繰り返されるのを回避するにはどうすればよいでしょうか?

Apache2 VirtualHosts の複数の Directory ディレクティブにわたって Allow/Deny アクセス制御ステートメントが繰り返されるのを回避するにはどうすればよいでしょうか?

<Directory>Apache2では、複数のアクセス制御ステートメントを含む多数のディレクティブ/セクションを持つVirtualHostがあります。

つまり

<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変数置換による再利用可能なテンプレートを作成できます。

関連情報