Сопоставление / условных обозначений для определенных URI не работает

#.htaccess #browser-cache

#.htaccess #кэш браузера

Вопрос:

Мне нужно создать условие, чтобы избежать кэширования URL-адресов / файлов бэк-офиса.

Все эти шаблоны необходимо пропустить:

  • .com/panel
  • .com/panel/
  • .com/panel/что-то
  • .com/api
  • .com/api/
  • .com/api/something

Не удается заставить это работать. Я перепробовал много версий, и это моя последняя:

 <If "%{REQUEST_URI} =~ m#(panel|api)#">
  ExpiresActive Off
</If>
<Else>
  ExpiresActive On
  ...
</Else>
  

Комментарии:

1. У вас есть Apache 2.4 ?

2. @Martin да (2.4.39, если быть более точным). Это работает <If "%{REQUEST_URI} =~ /panel/"> , но пропущено /panel

3. Попробуйте : <If "%{REQUEST_URI} =~ m#(panel|api).*#"> ExpiresActive Off </If>

4. По-прежнему указана дата истечения срока действия (поэтому она кэшируется) для запросов типа .com/panel/login и .com/api/system?view=panel (истекает: Пт, 24 мая 2019 г. 18:28:21 GMT) на новой частной вкладке, но не на .com/media/panel/.../file.js