块中的模板不是 运行 在 ansible 中正确过滤
Template in block is not running filters properly in ansible
使用 ansible 的 blockinfile 模块时,如果我们使用 regex_replace 过滤器,则必须更改过滤器参数才能使其正常工作。这违反了过滤器的文档。是不是模板引擎转义了?
https://github.com/ansible/ansible-modules-extras/issues/3105
通过指向包含基本信息的外部站点的链接提问通常是一种不好的做法。
至于你的问题,你使用或不使用转义取决于外部字符串引号:
# don't escape
block: |
RewriteCond %{HTTP_HOST} ={{ url | regex_replace('(?:https?://)?([^/:]+)?.*', '') }}
# escape
block: "RewriteCond %{HTTP_HOST} ={{ url | regex_replace('(?:https?://)?([^/:]+)?.*', '\1') }}"
使用 ansible 的 blockinfile 模块时,如果我们使用 regex_replace 过滤器,则必须更改过滤器参数才能使其正常工作。这违反了过滤器的文档。是不是模板引擎转义了?
https://github.com/ansible/ansible-modules-extras/issues/3105
通过指向包含基本信息的外部站点的链接提问通常是一种不好的做法。
至于你的问题,你使用或不使用转义取决于外部字符串引号:
# don't escape
block: |
RewriteCond %{HTTP_HOST} ={{ url | regex_replace('(?:https?://)?([^/:]+)?.*', '') }}
# escape
block: "RewriteCond %{HTTP_HOST} ={{ url | regex_replace('(?:https?://)?([^/:]+)?.*', '\1') }}"