发布
社区首页 >问答首页 >自定义htaccess文件的正确过程是什么?

自定义htaccess文件的正确过程是什么?
EN

Drupal用户
提问于 2021-08-27 16:58:57
回答 1查看 386关注 0票数 2

我们有自定义的重定向链接,它们使用基于根路径的重定向的RedirectMatch规则。我们更愿意在web服务器级别处理这些规则,而不是使用重定向模块(如果它甚至可以执行基于匹配的规则),因此我们将这些规则放在.htaccess文件中,例如:

代码语言:javascript
代码运行次数:0
复制
RedirectMatch 301 ^/computing/hpc[/]?(.*) https://hpc.our.domain/$1

由于.htaccess文件由于脚手架而使用composer安装进行更新,那么向文件中添加规则的最佳过程是什么?我并不想阻止脚手架更新.htaccess文件,但我可能需要不时地修改我们的修补程序,以便将其应用于最新版本。

当需要添加或删除某些内容时,如何编辑和更新修补程序?

EN

回答 1

Drupal用户

发布于 2021-08-31 13:04:39

根据定制级别的不同,您可以使用两种策略。

  • 使用修改后的htaccess文件修补drupal/core,包括您的自定义。
  • 通过脚手架覆盖htaccess文件。

如果您选择了第一个选项,这是一个非常简单的方法。

  1. 签出用于文件夹的Drupal版本。
  2. 调整资产/支架中的htaccess文件。
  3. 运行git diff > htaccess.patch
  4. 回到您的项目并创建一个修补程序文件夹,将新文件放入其中。
  5. 将以下内容添加到composer.json extra部分(确保已安装了cweagans/composer-修补程序):
代码语言:javascript
代码运行次数:0
复制
"patches": {
  "drupal/core": {
    "Add redirects": "patches/htaccess.patch"
  }
}

如果您选择选择二:

  1. 在项目中创建一个资产/脚手架文件夹(S)。
  2. 在其中复制htaccess文件。
  3. 对文件进行调整。
  4. 将以下内容添加到composer.json extra部分:
代码语言:javascript
代码运行次数:0
复制
"drupal-scaffold": {
  "locations": {
    "web-root": "web/"
  },
  "file-mapping": {
    "[web-root]/.htaccess": "assets/scaffold/.htaccess"
  }
}
票数 1
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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