在我的新Drupal 9网站上,我定制了.htaccess文件和robots.txt文件。
我不希望在用Composer进行更新时覆盖它的文件。
我在composer.json文件中添加了下面的行,但是每次都会覆盖.htassess文件。我的密码怎么了?谢谢
"extra": {
"drupal-scaffold": {
"locations": {
"web-root": "./"
},
"file-mapping": {
"[web-root]/.htaccess": false,
"[web-root]/robots.txt": false
}
},
...发布于 2021-06-08 15:33:55
.htaccess和robots.txt都是Drupal核心的一部分,它们被称为"Scaffold“。当您执行composer update时,它将下载这些文件的存储库版本。
您必须在每次执行composer update时重新添加您的自定义更改。幸运的是,有一个自动化的方法:
选项1.附加您的更改:
"name": "my/project",
...
"extra": {
"drupal-scaffold": {
"file-mapping": {
"[web-root]/robots.txt": {
"append": "assets/my-robots-additions.txt",
}
}
}
}选项2.创建修补程序:
"name": "my/project",
...
"scripts": {
"post-drupal-scaffold-cmd": [
"cd docroot && patch -p1 <../patches/htaccess-ssl.patch"
]
}备选案文3.排除(不建议):
官方的例子:
"name": "my/project",
...
"extra": {
"drupal-scaffold": {
"file-mapping": {
"[web-root]/robots.txt": false
}
}
}你提供的代码看起来是正确的。
确保您使用的是https://github.com/drupal/core-composer-scaffold包,而不是过时的https://github.com/drupal-composer/drupal-scaffold。
但是不推荐这种方法,因为您可能会错过重要的核心更改/安全修复。
关于更改脚手架文件的更多细节。
https://drupal.stackexchange.com/questions/303417
复制相似问题