I've got the following minimal test case on Apache 2.4.6:
<VirtualHost *:80> # Match all paths excluding /proxy <LocationMatch ^/prefix/((?!proxy/).*)$> ProxyPassMatch http://127.0.0.1:8082/$1 </LocationMatch> # Match /proxy specifically <Location /prefix/proxy/> ProxyPass "http://127.0.0.1:8082/proxy/" </Location> </VirtualHost>
(The two locations do the same thing here, but they'll be configured differently on a production machine, of course.)
When trying to run Apache with this config, it fails with the following error:
AH00526: Syntax error on line 7 of /etc/httpd/conf.d/broken.conf: ProxyPass/<Proxy> and ProxyPassMatch/<ProxyMatch> can't be used altogether with the same worker name (http://127.0.0.1:8082/$1)
I can't figure out what the error message means (it's not even proper English!) and how to solve it. From what I see, the ProxyPass worker names are different - they must be different, since the URLs are mutually exclusive!
Google returns only 3 hits for the error, and two of them point to the Apache source code. If I remove either one of the directives on line 3 and line 7, the config works fine.