Nginx 的 index 指令遵循“就近优先”原则,在 location 块中直接写入即可覆盖外层配置;index ""; 可彻底禁用默认页查找,仅对以 / 结尾的请求生效,需注意 location 类型、是否含 proxy_pass 及路径匹配准确性。

Nginx 的 index 指令在 location 块中写一次,就能覆盖上级(server 或 http 块)的默认首页设置。它的生效逻辑是“就近优先”——离请求路径最近的 index 配置起作用,不需要额外声明“禁用”,直接重写即可。
Nginx Hosting
通过服务器本地nginx实例实现零认证静态游戏托管。作为所有浏览器游戏的主要部署方式,无需登录、无需令牌、无需用户操作。
下载
关键点不是“禁用”,而是“覆盖”:你只要在目标 location 块里明确写出 index 指令,Nginx 就自动忽略外层同名配置。
在 location 中覆盖上层 index 设置
- 写法很简单:把 `index` 行直接放进你要控制的 `location` 块内部
- 例如 server 块设了 `index index.html;`,你想让 `/api/` 下不走首页逻辑,就单独配:
```nginx
location /api/ {
index ""; # 空字符串表示禁用默认页查找
}
```
- 这样访问 `/api/` 时,Nginx 不再尝试找任何文件,直接返回 403(除非开启 autoindex)
用空值彻底关闭默认页功能
- `index "";` 是最干净的禁用方式,它告诉 Nginx:“别查任何文件,也不回退”
- 适用于纯接口路径、静态资源目录或需严格限制访问的区域
- 注意:该路径仍需是真实目录且有读取权限,否则可能报 403;若目录不存在或权限不足,也会拦截
确保 location 匹配和路径结尾正确
- `index` 只对以 `/` 结尾的请求生效(如 `/admin/`),对 `/admin` 不触发
- 如果用户常输不带斜杠的地址,建议搭配 `try_files $uri $uri/ =404;` 自动补全
- 使用 `alias` 时,`index` 查找路径 = alias 路径 + 文件名;用 `root` 则是 root + URI 路径 + 文件名,别拼错物理位置
排查为什么没覆盖成功
- 检查是否写在了正则 location(如 `location ~ \.php$`)里:正则块默认不继承 `index`,必须显式重写
- 确认没有 `proxy_pass` 或 `fastcgi_pass`:这些指令会让 `index` 完全失效,首页应由后端处理
- 查看 error log,用 `curl -I http://localhost/your-path/` 观察实际返回状态和响应头,验证是否命中目标 location