Мне пришлось отправить специальный add_header для настройки no-cache для определенной папки и подпапок.Вы можете увидеть мой пример кода ниже.Но когда я его настроил, я больше не могу получить доступ к файлам JS и CSS, которые находятся в одной папке.Если CSS находится в подпапке защищенной папки, это нормально, но он получает 403 доступа, если в защищенной папке.
Мне нужны все файлы, включая php, для отправки заголовка no-cacheесли в папке «/ protected» или в любой подпапке защищенной папки.Вот и все.
Если я попробую location ~ / protected /
, я не смогу получить доступ к файлам css или js в каких-либо подпапках / protected / then.
location ^~ /protected/ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/ramrod/public_html/$fastcgi_script_name;
include fastcgi_params;
# kill cache
add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
if_modified_since off;
expires off;
etag off;
}
Я на самом деле думал, что это правильная директива:
location /protected/ {}
И подумал, что все файлы, особенно php или html, вернут заголовок no-cache.Но это был не тот случай.Только индекс вернул заголовок и ничего больше.Но затем все они начали возвращать заголовок no-cache, как и следовало, когда я изменил его на:
location ~ /protected/ {}
Но тогда файлы css и js выдают ошибку 403 в том же каталоге (или подкаталоге).
Мое обнадеживающее решение состоит в том, чтобы иметь директиву, которая помещает add_header во все файлы в каталоге и его подкаталоге, но все же разрешает мне доступ ко всем файлам.