我想在以下情况下设置自定义“X-Cache-Status”标头:第一个文件找到in try_files
,但其他匹配项均未找到。最好的方法是什么?
server {
location / {
try_files /cache/${host}${cache_uri}_index.html $uri $uri/ /index.php?q=$uri&$args;
}
}
答案1
替代答案,不带 if :
server {
location / {
add_header X-Cache-Status "foo";
try_files /cache/${host}${cache_uri}_index.html @fallback;
}
location @fallback {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
}
答案2
我认为你别无选择,只能部分复制 try_files 功能:
server {
location / {
if ( -f "$document_root/cache/${host}${cache_uri}_index.html" ) {
add_header X-Cache-Status "value";
break;
}
try_files $uri $uri/ /index.php?q=$uri&$args;
}
}