![如何让 nginx 在空文件上返回 404?](https://linux22.com/image/655354/%E5%A6%82%E4%BD%95%E8%AE%A9%20nginx%20%E5%9C%A8%E7%A9%BA%E6%96%87%E4%BB%B6%E4%B8%8A%E8%BF%94%E5%9B%9E%20404%EF%BC%9F.png)
我想看看是否可以根据文件大小进行条件重写。例如:
if (!-s $request_filename) {
return 404;
}
我假设如果文件存在且非空,-s 将返回 true。我需要这个,因为我有一个动态创建文件的脚本,并且这些文件不应该在我完成写入之前提供。因此,如果文件为空,它们应该为 404。
答案1
我会通过让脚本写入临时文件来避免这个问题,并且在写入完成后,将文件重命名为最终文件名。
我想看看是否可以根据文件大小进行条件重写。例如:
if (!-s $request_filename) {
return 404;
}
我假设如果文件存在且非空,-s 将返回 true。我需要这个,因为我有一个动态创建文件的脚本,并且这些文件不应该在我完成写入之前提供。因此,如果文件为空,它们应该为 404。
我会通过让脚本写入临时文件来避免这个问题,并且在写入完成后,将文件重命名为最终文件名。