我不得不发送一个自定义的add_头来为特定的文件夹和子文件夹设置无缓存。您可以在下面看到我的示例代码。但是,当我设置它时,我不能再访问共享同一文件夹的JS和CSS文件。如果css位于受保护文件夹的子文件夹中,则可以,但如果位于受保护文件夹中,则会被拒绝403访问。
我希望所有文件(包括php)在“/protected”文件夹或受保护文件夹的任何子文件夹中发送无缓存头。就是这样。
如果我尝试定位~/受保护/
在任何子文件夹中,我不能访问CSS或JS文件。
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头更改为:
location ~ /protected/ {}
但是css和js文件在同一个目录(或子目录)中给出了403个错误。
我希望的解决方案是有一个指令,将add_头放在一个目录及其子目录中的所有文件中,但仍然允许我访问所有文件。