我正在使用这样的重写
if (!-e $request_filename) { rewrite ^/(en|ga)?/?(.*)$ /index2.php?cultureKey=$1&mq=$2 last; }
但在我需要某些重写的URL被caching了30秒之后。 剩余的fast_cgi请求应该是5分钟。
fastcgi_cache_valid 200 302 5m; expires 5m; if ($args ~* (dynamic\.html)){ expires 30s; }
我尝试过移动它们,但是dynamic.html和其他文件都在30秒后仍然被caching,或者它们都在30之后过期。
如何使dynamic.html(重写)caching30s和剩余的文件5m?
谢谢
$args
是一个包含GET
请求参数的variables,你确定你没有在$request_uri
或$uri
吗? 也许使用位置块更好:
location ~* dynamic.html { expires 30s }
但它取决于你的configuration的其余部分,所以YMMV。
我认为这是'如果'是什么原因造成的问题。 你应该阅读这个http://wiki.nginx.org/IfIsEvil