AllowOverrideList

AllowOverrideList for One Directive at a Time

Granting FileInfo so an editor can maintain redirects also hands over mod_rewrite and handlers. AllowOverrideList, new in 2.4, names single directives instead, adding to whatever AllowOverride grants. Here the <Directory> sets AllowOverride None and AllowOverrideList Redirect RedirectMatch Header ErrorDocument, and the editor writes:

An editor's .htaccess under AllowOverrideListApache config
# /var/www/example/.htaccess - the editor may change redirects, one header, error pages
Redirect 301 /old-page.html /new.html
RedirectMatch 301 ^/news/(\d{4})/(.+)$ /blog/$1/$2
Header set Cache-Control "no-cache"
ErrorDocument 404 /errors/404.html
Status, Cache-Control and redirect target for four URLsApache config
b=localhost:8104
for u in /old-page.html /news/2026/post.html /blog/2026/post.html /nothing-here; do
  printf '%-22s ' $u
  curl -so /dev/null -w '%{http_code} %header{cache-control} %{redirect_url}\n' $b$u
done
Output
/old-page.html         301  http://localhost:8104/new.html
/news/2026/post.html   301  http://localhost:8104/blog/2026/post.html
/blog/2026/post.html   200 no-cache 
/nothing-here          404 no-cache

The 404 serves the editor's page. RewriteEngine On makes every request a 500 (RewriteEngine not allowed here), and so, surprisingly, does wrapping Header in <IfModule>: under AllowOverride None even the class-free containers are refused.