![强制 nginx 始终自动索引并忽略 index.html 文件?](https://linux22.com/image/729796/%E5%BC%BA%E5%88%B6%20nginx%20%E5%A7%8B%E7%BB%88%E8%87%AA%E5%8A%A8%E7%B4%A2%E5%BC%95%E5%B9%B6%E5%BF%BD%E7%95%A5%20index.html%20%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我正在尝试让 nginx 忽略index.html
文件和总是显示模块的目录列表autoindex
。
如果我删除我的index
行,nginx 仍然默认提供index.html
文件服务,所以这不是一个解决方案。
类似的问题在 Stack Overflow 上被问到,但我正在寻找一种不涉及发明虚假文件名的解决方案,如果这样的解决方案存在的话(更不用说该线程偏离主题了)。
我怎样才能改变我的index
指令来告诉 nginx 永远不显示索引文件?
答案1
您不应该删除该index
指令,而应该将其设置为一个合理不存在的名称,这样它就不会匹配任何文件。
例如:
index X6XewZMsmreGIxx1lCdp0Yo1X4qHTivW;
你不可以喜欢这个解决方案。它有点不优雅。但它工作得很好,并且完全满足您的要求,而其他任何解决方案都不能。
答案2
删除(注释掉)索引指令。例如,使用 Debian nginx 包,autoindex(或 fancyindex)会尝试目录索引。
作为替代方案,伪造索引文件并不优雅,但也不昂贵。可能只需要几个系统调用来检查文件是否存在。