当尝试缓存css / js等时,nginx给出403

时间:2012-03-17 20:18:07

标签: nginx

当我尝试使用

为用户缓存静态文件时
   location ~* \.(js|css|png|jpg|jpeg|gif|ico|bmp|ttf|tof|svg|swf)$ {
       expires max;
       access_log off;
       error_log off;
    }

静态文件不加载(访问时提供403 Forbidden),因此我的网站加载时没有任何静态文件。当我评论出那部分时,一切都按原样运作。

任何人都可以解释为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

这可能是因为您没有在外部上下文中指定任何根指令(例如服务器块)。

如果您将根指令添加到服务器块或位置块以及静态文件夹的路径,它将被修复:

server{
    .
    .
    .
    root /path/to/static/folder;

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|bmp|ttf|tof|svg|swf)$ {

       # or add a root directive here
       root /path/to/static/folder;

       expires max;
       access_log off;
       error_log off;
    }
}