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

如何配置DDEV实现子目录Drupal项目本地同路径访问

DDEV本地配置子目录运行Drupal9的操作步骤

1. 对齐本地目录结构

完全和生产环境保持一致,避免路径逻辑差异:

  • 本地DDEV项目根目录对应生产的www目录,存放composer.json、/vendor、/tmp等非公共访问文件
  • 项目根目录下创建maresmuseum子目录,对应生产的公共访问根,存放Drupal核心的index.php、core、modules、themes、sites等所有公共web文件

2. 修改DDEV核心配置

编辑项目下的.ddev/config.yaml文件,调整以下参数:

# web服务文档根设为项目根,和生产环境www目录对应
docroot: ""
# 配置预期的本地访问域名
additional_fqdns:
  - example.local
# 其余参数(PHP版本、数据库版本等)按Drupal9要求按需配置即可

3. 配置URL重写规则

根据使用的web服务类型二选一配置:

  • 若使用DDEV默认的Nginx:在.ddev/nginx/目录下新建location.conf文件,写入子目录重写规则
    location /maresmuseum {
        try_files $uri $uri/ /maresmuseum/index.php?$query_string;
    }
    
  • 若使用Apache:无需额外编写配置,保留maresmuseum目录下Drupal官方自带的.htaccess文件即可,DDEV默认开启目录级配置读取权限,会自动加载重写规则。

4. 调整Drupal站点配置

编辑maresmuseum/sites/default/settings.php文件,添加基础路径配置,保证所有内链自动带上路径前缀:

// 配置站点基础URL
$settings['base_url'] = 'https://example.local/maresmuseum';
// 私有文件路径和生产对齐,指向项目根下的对应目录
$settings['file_private_path'] = '../tmp/private';

5. 生效配置

依次执行以下命令让所有配置生效:

# 重启DDEV服务加载新配置
ddev restart
# 清除Drupal全站缓存
ddev drush cr

配置完成后直接访问https://example.local/maresmuseum即可打开站点首页,所有内页、静态资源路径都会自动带上/maresmuseum前缀,和生产环境路径规则完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 22:27:33