如何在Drupal 8上更改公共文件的路径?

时间:2018-05-09 14:28:31

标签: docker drupal drupal-8

默认情况下,公共文件系统的路径在多站点环境中为sites/<site-name>/files,对于单个站点仅为sites/default/files。我该怎么改变它?我需要将文件保存在单独的docker卷上。

1 个答案:

答案 0 :(得分:0)

您可以保持标准文件夹结构不变,并使用符号链接实际使用不同的路径(文件夹,卷等)作为真实存储。

这是我在当地Homestead上的Drupal 8站点的文件夹结构。 根据您自己的结构更新路径。

/home/vagrant/Projects/D/Drupal8/

├── ..
├── private_files
├── public_files
│   ├── ctools
│   ├── field
│   │   └── image
│   └── styles
│       ├── large
│       │   └── public
│       │       └── field
│       │           └── image
│       ├── medium
│       │   └── public
│       │       └── field
│       │           └── image
│       └── thumbnail
│           └── public
│               └── field
│                   └── image
├── vendor
└── web
    ├── includes
    ├── misc
    ├── modules
    ├── profiles
    ├── scripts
    ├── sites
    │   ├── all
    │   └── default
    │       └── files -> (symlink) /home/vagrant/Projects/D/Drupal8/public_files/
    └── themes

首先将当前公共文件目录移至Drupal root 之外,或文件系统中的任何位置:

$ mv web/sites/default/files public_files

在其位置创建一个新的files目录(仅当下一步对您不起作用时才执行此操作):

$ mkdir web/sites/default/files

创建符号链接:

$ ln -s /home/vagrant/Projects/D/Drupal8/public_files/ /home/vagrant/Projects/D/Drupal8/web/sites/default/files

要注意的两个要点:

  • 创建符号链接时,始终使用完整路径而不是相对路径。
  • 请注意源和目标中的尾部正斜杠用法。