Apache2.4のRequireディレクティブの書き方を調べたのでメモ

特定のIPのみ許可

# Apache2.2までの書き方
<Directory "/path/to/docroot/">
	Order deny,allow
	deny from all
	allow from 192.168.11.0/24
	allow from 172.17.
</Directory>

# Apache2.4の書き方
<Directory "/path/to/docroot/">
	<RequireAny>							// OR。1つ以上マッチすれば真。(Satisfy Any)
		Require all denied
		Require ip 192.168.11.0/24
		Require ip 172.17.
	</RequireAny>
</Directory>

特定のURLへのアクセスを拒否

SetEnvIf Request_URI "^/aaa" deny_aaa		// 拒否するURLその1
SetEnvIf Request_URI "^/bbb" deny_bbb		// 拒否するURLその2

# Apache2.2までの書き方
<Directory "/path/to/docroot/">
	Order allow,deny
	allow from all
	deny from env=deny_aaa
	deny from env=deny_bbb
</Directory>

# Apache2.4の書き方
<Directory "/path/to/docroot/">
	<RequireAll>							// AND。全てにマッチすれば真。(Satisfy All)
		Require all granted
		Require not env deny_aaa			// 反転する場合はnotが使える
		Require not env deny_bbb			// 反転する場合はnotが使える
	</RequireAll>
</Directory>