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

Directus部署至SSH服务器后所有API接口返回404错误求助

解决Directus部署后API接口404的问题

以下是针对性的排查和修复步骤:

  • 检查集合权限与Slug
    登录Directus后台,确认akeneoproducts集合的Slug和本地完全一致(注意大小写)。同时检查该集合的权限设置:

    • 若API不需要认证,给公共角色开启读取权限;
    • 若需登录访问,确认对应用户角色的权限已正确配置。
      本地正常但服务器异常时,大概率是集合结构未同步,可通过Directus数据迁移工具(或手动导出/导入集合配置)将本地的集合结构同步到服务器数据库。
  • 核对环境变量配置
    检查服务器上Directus的.env文件,确保以下关键变量配置正确:

    • PUBLIC_URL=http://platform.groep-e.be:8055
    • API_URL=http://platform.groep-e.be:8055
    • 若设置了API_PATH(比如API_PATH=/api),API请求路径需加上前缀,即curl http://platform.groep-e.be:8055/api/akeneoproducts,否则会出现404。
      配置修改后重启Directus服务。
  • 确认路由重写规则(若使用反向代理)
    如果通过Nginx等反向代理访问Directus,需配置正确的路由重写规则,让所有API请求转发到Directus入口文件。示例Nginx配置片段:

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }
    

    若直接使用Directus自带的Node服务器启动,跳过此步骤,但需确认启动命令为npx directus start而非仅启动静态文件服务。

  • 验证数据库连接与集合同步
    检查服务器数据库是否与本地数据库结构一致:

    • 确认服务器数据库已正确导入本地的集合、字段配置;
    • 执行directus logs查看日志,排查是否存在数据库连接或初始化报错。
  • 测试基础API端点
    先测试Directus自带的基础API,比如curl http://platform.groep-e.be:8055/items/directus_users:

    • 若此请求也返回404,说明API路由整体未生效,需检查服务启动方式或环境变量;
    • 若此请求正常,问题则集中在自定义集合akeneoproducts的配置上。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 15:27:38