最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Nginx 如何通过 index 指令配置多个默认首页的优先级顺序
时间:2026-08-15 12:23:49 编辑:袖梨 来源:一聚教程网
Nginx的index指令按书写顺序从左到右匹配首个存在且可读的默认首页文件;多个文件名空格分隔、结尾加分号,不可加引号或绝对路径;支持http/server/location三级配置,就近生效;需确保文件权限为644且属主属组正确;常与try_files配合实现PHP路由兜底。
Nginx 通过 index 指令设置多个默认首页时,优先级完全由指令中文件名的书写顺序决定:从左到右依次检查,找到第一个存在且 Nginx 有读取权限的文件就立即返回,后续文件不再尝试。
写法与基本规则
语法很简单,多个文件名用空格分隔,结尾必须加分号:
-
index index.php index.html index.htm;→ 先找index.php,存在就返回;否则查index.html,再是index.htm - 未配置时,Nginx 默认只认
index index.html; - 不能加引号,不能用绝对路径(如
/var/www/index.php),也不能写成index "index.php";或index index.php ;(末尾空格+分号会报错)
配置位置影响生效范围
指令可放在 http、server 或 location 块中,优先级按“就近原则”生效:
- 写在
location /admin/ { }里 → 只对/admin/路径有效,比如index admin.php; - 写在
server块里 → 影响整个站点,但会被子location覆盖 - 写在
http块里 → 全局默认,优先级最低,容易被覆盖
注意文件“存在”不等于“可用”
匹配过程不仅检查文件是否存在,还会验证 Nginx worker 进程是否有读取权限:
-
index.php文件存在,但权限为600且属主不是nginx或www-data→ 被跳过,继续查下一个 - 推荐设为
644,所属组包含运行用户(如chown -R www-data:www-data /var/www/html) - 可通过
ls -l /path/to/file和ps aux | grep nginx确认用户和权限是否匹配
配合 try_files 实现更可靠 fallback
index 只负责目录访问时的静态文件匹配,若想在找不到首页时交给 PHP 路由(如 Laravel、WordPress),需搭配 try_files:
location / { index index.php index.html; try_files $uri $uri/ /index.php?$query_string; }- 这里
$uri/触发index查找逻辑,而/index.php是兜底转发 - 注意:
index仍需显式声明(如index index.php;),否则$uri/不会触发内部重定向
相关文章
- 卡池抽取建议 锚点降临卡池如何抽 08-26
- 锚点降临如何招募 08-26
- 锚点降临芯片怎么获取-芯片获取做法介绍 08-26
- 锚点降临怎么计算伤害 锚点降临伤害计算做法 08-26
- 小米路由器网口灯不亮怎么办(小米路由器网口灯不亮如何解决) 08-26
- 锚点降临如何计算伤害 08-26