【发布时间】:2022-12-04 22:00:42
【问题描述】:
我正在尝试使用 nginx 提供用户提供的文件目录,但索引文件位于文档根目录之外。我不想在目录中找到索引文件的原因是因为该目录是为了让用户将他们的东西放在那里。
Nginx 的index 指令似乎只适用于文档根目录中的文件;文档说索引可以是“绝对路径”,但我的实验表明这只是相对于文档根目录。
因此,我尝试使用location =/index.html { alias /path/to/index.html } 提供另一个索引位置,并且当直接请求/index.html 时这设法工作,但如果请求/ 则它不起作用(403 日志“目录索引为”/srv /docroot/“被禁止”)。但是,如果我创建一个空文件到/srv/docroot/index.html,它就会开始工作;然后/path/to/index.html 服务于/。所以看起来Nginx
- 检查
/srv/docroot/index.html文件是否存在于文件系统中/的位置。 - 如果存在,它会进行内部重定向,并在
/index.html位置为/path/to/index.html提供服务。在文档根目录之外提供索引文件的正确方法是什么?
【问题讨论】:
标签: nginx