首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我使用复合命令时,如何避免覆盖.htaccess文件?

当我使用复合命令时,如何避免覆盖.htaccess文件?
EN

Drupal用户
提问于 2021-06-08 13:37:38
回答 1查看 611关注 0票数 1

在我的新Drupal 9网站上,我定制了.htaccess文件和robots.txt文件。

我不希望在用Composer进行更新时覆盖它的文件。

我在composer.json文件中添加了下面的行,但是每次都会覆盖.htassess文件。我的密码怎么了?谢谢

代码语言:javascript
复制
"extra": {
    "drupal-scaffold": {
        "locations": {
            "web-root": "./"
        },
        "file-mapping": {
            "[web-root]/.htaccess": false,
            "[web-root]/robots.txt": false
        }
    },
...
EN

回答 1

Drupal用户

回答已采纳

发布于 2021-06-08 15:33:55

.htaccessrobots.txt都是Drupal核心的一部分,它们被称为"Scaffold“。当您执行composer update时,它将下载这些文件的存储库版本。

您必须在每次执行composer update时重新添加您的自定义更改。幸运的是,有一个自动化的方法

选项1.附加您的更改:

代码语言:javascript
复制
  "name": "my/project",
  ...
  "extra": {
    "drupal-scaffold": {
      "file-mapping": {
        "[web-root]/robots.txt": {
          "append": "assets/my-robots-additions.txt",
        }
      }
    }
  }

选项2.创建修补程序:

代码语言:javascript
复制
  "name": "my/project",
  ...
  "scripts": {
    "post-drupal-scaffold-cmd": [
      "cd docroot && patch -p1 <../patches/htaccess-ssl.patch"
    ]
  }

备选案文3.排除(不建议):

官方的例子:

代码语言:javascript
复制
  "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

但是不推荐这种方法,因为您可能会错过重要的核心更改/安全修复。

关于更改脚手架文件的更多细节。

票数 2
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/303417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档