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

Drupal 10迁移后出现路由错误,求数据库连接及问题解决方法

Drupal 10 连接旧数据库及路由错误修复方案

一、旧数据库连接配置验证

你当前的数据库配置格式没问题,要落实以下细节:

  • 确认database字段的lobo就是你导入旧数据的目标库,别写错名字
  • 本地MySQL的用户名确实是root、密码为空,要是你给MySQL设过密码,得把密码填进去
  • 数据库在本地的话host用localhost没问题,要是在远程服务器上,得换成对应IP或域名
  • driver设为mysql适配MySQL/MariaDB,不用改

要是要切换到旧数据库,直接把database的值改成旧数据库的名称就行,前提是旧数据库的备份已经完整导入到这个库里面。

二、解决"No route found for GET ..."错误

1. 强制清除缓存

Drupal的路由全靠缓存撑着,迁移后必须清缓存:

  • 用Drush的话,在项目根目录跑命令:
    drush cr
    
  • 没装Drush的话,直接删web/sites/default/files/php下面的缓存文件夹,或者检查settings.php里有没有缓存相关的硬编码配置,有的话注释掉

2. 核对站点目录结构

确认你访问的http://localhost/drupals_new_test/web/对应的文件夹里,index.php、core这些核心文件全在,没丢东西。

3. 配置站点基础URL

打开web/sites/default/settings.php,要是没设置$base_url,加上这行:

$base_url = 'http://localhost/drupals_new_test/web';

这能帮Drupal准确定位站点路径,避免路由解析出错。

4. 检查路由表完整性

旧数据库里的router表存着所有路由信息,要是导入的时候这个表没导全或者损坏了,肯定找不到路由。去数据库里查一下router表有没有数据,行数是不是和旧数据库一致,不一致的话重新导入完整的数据库备份。

5. 验证Web服务器配置

  • Apache的话,确保web目录下的.htaccess文件存在,而且服务器开了mod_rewrite模块
  • Nginx的话,要配置正确的rewrite规则,把请求导向index.php
  • 确认服务器的文档根目录指向drupals_new_test/web,或者虚拟主机配置里的路径没错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 21:03:32