Nginx配置文件坑点之:仅资源文件返回404错误码
配置新站点的时候,遇到大量资源文件返回404错误码。刚开始怀疑是目录重定向配置错误或权限组问题,通过给予最高权限和修改权限组可故障依旧。但在同目录下添加html文件等则正常访问。
Fix it!
许多自动配置Nginx的脚本中总是会自动加上一段静态资源缓存的配置:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
用来优化页面访问效果和用户体验,提高页面加载速度,优化带宽使用量等,但是遇到需要额外添加其他静态资源配置时就要对这些内容进行修改,例如我在配置Seafile云服务的时候,就遇到这样一段配置文件:
location /media {
root /home/user/haiwen/seafile-server-latest/seahub;
}
在该段配置文件中,通过重定向本地目录,来重定向资源文件的访问,但是与上文所提到的资源缓存配置冲突,所以必须注释掉上文的那段资源缓存代码块,避免配置冲突造成资源文件重定向不生效