mod_substitute错误与“行太长”

时间:2019-03-06 22:13:30

标签: apache

我只是想在与某些文件类型匹配的Apache响应中添加前缀和附加某些字符串。我以为mod_substitute可以胜任这项工作,但始终会出现AH01328: Line too long错误。

这是我的指令的样子:

<Location "/src">
    AddType application/javascript .txt .tpl
    AddOutputFilter SUBSTITUTE tpl txt
    SubstituteMaxLineLength 10m
    Substitute "s/([\s\S]*)/export default `$1`/i"
</Location>

如您所见,我也尝试提高SubstituteMaxLineLength的限制,但这似乎没有任何作用。

知道我在做什么错吗,还是有另一种选择来解决这个看似简单(显然不是这样)的任务?

2 个答案:

答案 0 :(得分:0)

使用mod_sed(仅供参考)解决了该问题:

# this converts the specified file type(s) into ES6 modules by
# wrapping the response in an "export", so it can be consumed 
# as a regular string, for example: "import string from 'text.txt'"
<Location "/src">
    AddType application/javascript .txt .tpl .vue
    AddOutputFilter Sed tpl vue txt
    OutputSed "1s/^/export default `/"
    OutputSed "$s/$/`/"
</Location>

答案 1 :(得分:0)

这帮了我忙,在查看error_log并查看mod_substititute上的错误之前,收到有关网络超时/连接关闭的随机HTTP错误消息。

我能够添加SubstituteMaxLineLength 10M(大写M),并且对我有用。

谢谢!