Подтвердить что ты не робот

Как сказать apache в LocationMatch напротив этого?

У меня есть apache conf:

  <LocationMatch "^/assets/.*$">

Как я могу ввести директиву, противоположную этому?

Я пробовал <LocationMatch "!^/assets/.*$">, но это не сработало: (

4b9b3361

Ответ 1

С Apache 2.2 (не уверен в предыдущих версиях) вы можете использовать регулярное выражение с отрицательным lookahead для соответствия всем корневым каталогам URL-адресов, отличным от /assets, например:

<LocationMatch "^(?!/assets)/[^/]+">
    ...
</LocationMatch>

Обратите внимание, что это не включает корневой URL-путь /.

Ответ 2

К сожалению, LocationMatch не поддерживает отрицательное соответствие:/(для этого вы можете открыть запись Bugzilla, это было бы полезно).

И BTW вы можете просто поместить ^/assets/ в качестве регулярного выражения, нет необходимости сопоставлять полное местоположение.

Одна вещь, которую вы можете сделать, чтобы обойти это, - это определить пустой LocationMatch для ^/assets/, а затем использовать <Location />.