I'm working on some basic apache configuration, but I don't understand precisely how apache merges different
<Location> sections when several of them match an incoming requests URL. The apache documentation in its "How the sections are merged" chapter is a little bit confusing when it comes to the order/priority of several matching sections of the same type.
For example, imagine the following apache configuration (ignore whether the actual contents make sense or not, I'm only interested in the application order of each rule/section):
<Location / > ProxyPass http://backend.com/ Order allow,deny Satisfy any </Location> <Location /sub/foo> Order allow,deny </Location> <Location /sub > Order deny,allow Require valid-user Satisfy all </Location> <Location /doesnt/match > ProxyPass ! </Location>
Now if a client makes a request to
/sub/foobar, which is the final configuration that will be applied to this request?
Is the applied configuration the equivalent of:
# All the directives contained in all the matchin Locations in declaration order ProxyPass http://backend.com/ Order allow,deny Satisfy any Order allow,deny Order deny,allow Require valid-user Satisfy all
# same as above, but with longest matching path last ProxyPass http://backend.com/ Order allow,deny Satisfy any Order deny,allow Require valid-user Satisfy all Order allow,deny
or something completely different.
Thanks for your help, I'm really confusing.