Как сказать apache для LocationMatch напротив этого? - PullRequest
15 голосов
/ 17 декабря 2011

В моем apache conf есть следующее:

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

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

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

Ответы [ 2 ]

29 голосов
/ 17 декабря 2011

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

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

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

0 голосов
/ 17 декабря 2011

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...