Apache + OpenID, условный доступ для <Location> с использованием директив <If> в сочетании с неограниченным <Location>?
Я пытаюсь использовать Apache с OpenID Connect (mod_auth_openidc) для ограничения доступа, но по определенным путям я хочу неограниченный доступ. Мой httpd.conf содержит что-то вроде этого
<Location />
Require valid-user
</Location>
<Location /myPath>
Require all granted
</Location>
и /myPath действительно имеет неограниченный доступ, т.е. неавторизованные пользователи получают доступ.
Теперь я пытаюсь добавить некоторые условные ограничения, используя директивы "If", но оставляю /myPath по-прежнему без ограничений, например
<Location />
<If someBoolean>
Require valid-user
</If>
</Location>
<Location /myPath>
Require all granted
</Location>
В этом случае я получаю неограниченный доступ к /myPath только в том случае, если someBoolean имеет значение "false". Если это "true", для доступа к /myPath требуется действительный пользователь, а это не то, что я хочу. Путь по умолчанию "/" работает просто отлично, то есть он требует действительного пользователя тогда и только тогда, когда someBoolean равен "true".
Теперь я попробовал дальнейшее тестирование: когда я добавляю директиву Else, например,
<If someBoolean>
Require valid-user
</If>
<Else>
Require valid-user
</Else>
который в моем понимании должен быть эквивалентен просто использованию
Require valid-user
Я никогда не получаю неограниченный доступ к /myPath.
Как я могу получить поведение, которое я хочу?