块中的模板未在ansible中正确运行过滤器

时间:2016-10-06 14:56:45

标签: ansible ansible-playbook ansible-2.x

当使用ansible的blockinfile模块时,如果我们使用regex_replace过滤器,则必须更改过滤器参数以使其正常工作。这违反了过滤器的文档。转义是否由模板引擎完成?

https://github.com/ansible/ansible-modules-extras/issues/3105

1 个答案:

答案 0 :(得分:1)

通过链接到外部网站并提供重要信息,这通常是一种不好的做法。

至于你的问题,你根据外部字符串引用使用或不使用转义:

# don't escape
block: |
       RewriteCond %{HTTP_HOST} ={{ url | regex_replace('(?:https?://)?([^/:]+)?.*', '\1')  }}

# escape
block: "RewriteCond %{HTTP_HOST} ={{ url | regex_replace('(?:https?://)?([^/:]+)?.*', '\\1')  }}"