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:
# /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.htmlb=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
doneOutput
/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.