Nginx为特定URI启用缓存

时间:2014-03-25 04:42:06

标签: nginx

我的主要部分发生了基本的重写:

location / {
  try_files $uri $uri/ /index.php.php?$is_args$args
}

现在我想从以/ api /开头的所有请求中删除缓存。 我很想使用"如果"在我的位置块,但根据nginx doc,这不是一个好习惯。

我也尝试嵌套一个块,希望会有一些遗产发生,但我不认为我得到了正确的/ api请求不能交给PHP。

location / {
  location /api/ {
     expires -1;
  }
  try_files $uri $uri/ /index.php.php?$is_args$args
}

那么最好的方法是什么?

1 个答案:

答案 0 :(得分:2)

试试这个:

location / {
  try_files $uri $uri/ /index.php;
}

location /api/ {
  expires epoch;
  try_files $uri $uri/ /index.php;
}

我已删除$args。你可以用fastcgi params从PHP中获取它们,所以没有必要在这里使用它们。