访问 /uploads/2025/ 直接列出两千多个文件名,搜索引擎收录了 1800 条目录页,原图被别的站批量下载。碰到这种情况,我一般先确认改动有没有真的生效。

原因不复杂,Web 服务器默认开了目录列表,上传目录又没有 index 文件,请求目录路径就把文件全列出来。robots 拦不住已经抓取的链接。

「图片目录索引」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。改完顺手把文档补一句,省得下次自己重新推一遍。

location /uploads/ {
  autoindex off;
  try_files $uri $uri/ =404;
}

监控和日志的时间要对上,时区不一致会多绕很大一圈。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。

动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。

具体做法是,在服务器配置里关掉 autoindex,目录请求返回 403;给上传目录补一个空的 index.html 兜底;在 robots.txt 里屏蔽上传目录,再提交删除已收录页面。

最后用这个标准收尾,直接访问上传目录返回 403 或 404,不再列出文件名。

作者 9823189