最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Nginx 的 index 指令配置技巧
时间:2026-06-20 09:55:52 编辑:袖梨 来源:一聚教程网
Nginx的index指令需置于server块内,按顺序匹配首个存在且可读的文件,root路径末尾不可加斜杠,并须配合try_files确保无尾斜杠请求也能加载首页。
Nginx 的 index 指令本身很简单,但配错位置、顺序或配合方式,首页就可能打不开、跳错文件,甚至返回 403。核心不是“写上就行”,而是让 Nginx 在正确时机、用正确路径、按正确顺序,精准命中你要的首页。
把 index 放在 server 块里,别放全局
- 全局(http 块)配置容易被多个站点继承或覆盖,尤其多域名或多端口部署时风险高
- 每个站点对应一个 server 块,直接在里面写:
index index.html index.htm; - 这样逻辑清晰,作用范围明确,修改不影响其他服务
顺序即优先级,第一个存在的才生效
-
index a.html b.html c.php;表示:先查 a.html → 存在且可读就返回,不看后面 - 文件存在但权限为 600(仅属主可读)?Nginx 工作进程(如 www-data)读不了,会跳过,继续查 b.html
- 建议统一设为
-rw-r--r--(644),属组包含 nginx 用户
root 路径必须严格匹配,末尾不能加斜杠
- ✅ 正确:
root /var/www/site;→ 请求/时查找/var/www/site/index.html - ❌ 错误:
root /var/www/site/;→ 可能拼成/var/www/site//index.html,导致 403 或 404 - 同时确认:
index.html确实放在该目录下,且名字全小写(Linux 区分大小写)
无尾斜杠请求(如 example.com)也要加载首页?靠 try_files 补位
-
index只对/或/blog/这类以/结尾的目录请求生效 - 用户输
example.com(无/),index不触发 → 必须配合:location / { root /var/www/site; index index.html; try_files $uri $uri/ /index.html;} -
$uri/触发 index 查找;/index.html是兜底,确保裸域名也能显示首页(尤其 SPA 场景)
子路径要不同首页?用 location 单独定义
-
/admin/想默认加载admin.php,而不是index.html:location /admin/ { root /var/www/app; index admin.php;} - 注意:此时实际查找路径是
/var/www/app/admin/admin.php(root + URI + 文件名) - 若用
alias,路径计算规则不同,新手建议统一用root避免混淆
不复杂但容易忽略细节。关键就是记住:顺序即优先级,存在 ≠ 可用,就近配置胜于全局设定。
相关文章
- 2026年Notion AI设计场景用法:草稿生成与风格约束说明 06-20
- 京东在哪里可以解绑银行卡 06-20
- 2026年Notion AI响应缓慢:网络、缓存与账户配置排查 06-20
- 2026年Notion AI团队协作:权限、工作流与配置要点 06-20
- Notion AI企业版新手入门:账号权限与工作空间配置说明 06-20
- 如何用python创建项目 06-20