我无法将位置与下面提到的模式匹配,我想将expires标头设置为24小时。但它不起作用。如果我只使用下面提到的正则表达式,它可以工作:
location ~* .*abc\.php.* {
expires 24h;
}
以下示例不起作用。
location ~* .*abc\.php.*xyz=detail.*login_something=.* {
expires 24h;
}
" abc.php"之间和之后有很多内容。 &安培; " XYZ =细节" &安培; " login_something ="所以我只能使用。*。
提前致谢!
答案 0 :(得分:1)
有多种方法可以实现您的目标,但最简单的方法是将大型正则表达式应用于包含整个URI(包括查询字符串)的变量。这将是$request_uri
第二个问题是如何操纵expires
而不是使用多个块并且必须在每个块中重新实现PHP指令,只需使用map
指令as detailed in the expires
documentation。
例如:
map $request_uri $expires {
default off;
~*abc\.php.*xyz=detail.*login_something= 24h;
}
server {
...
expires $expires;
...
}