You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置Nginx运行Adminer时路径出现文件夹重复的原因是什么

问题原因

Nginx 中root和alias指令的路径处理逻辑不同:

  • root 会将完整请求 URI 拼接在指定目录之后
  • alias 会直接替换 location 匹配的路径部分

你当前配置使用root,匹配规则为location /adminer,访问localhost/adminer时,Nginx 会把请求路径里的/adminer拼到/usr/share/webapps/adminer后面,最终生成的文件路径就是报错中的/usr/share/webapps/adminer/adminer/index.php,因此出现路径重复。

解决方案

有两种常用修正方式,二选一即可:

方案1:修改root路径

将root指向adminer的上级目录即可,配置示例:

server {
  listen 80;
  
  location /adminer {
    root /usr/share/webapps;
    index index.php;
    # 此处需补充php解析配置,否则php文件不会被处理
    location ~ \.php$ {
      fastcgi_pass unix:/run/php-fpm.sock; # 按你实际的php-fpm监听地址调整,部分环境为127.0.0.1:9000
      include fastcgi_params;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
  }
}

方案2:使用alias指令

alias指令不会拼接路径,直接替换location匹配的部分,配置示例:

server {
  listen 80;
  
  location /adminer {
    alias /usr/share/webapps/adminer;
    index index.php;
    # 补充php解析配置
    location ~ \.php$ {
      fastcgi_pass unix:/run/php-fpm.sock; # 按实际情况调整
      include fastcgi_params;
      fastcgi_param SCRIPT_FILENAME $request_filename;
    }
  }
}

配置修改后重载Nginx即可生效。

内容的提问来源于stack exchange,提问作者Marlon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 06:06:07