Created attachment 35037 [details] bzipped, tar containing two git diff patches 1. The 'dbd' and 'prg' RewriteMap types can match a candidate pattern that includes whitespace characters. 2. The 'dbm' RewriteMap type is also capable of doing this, except for the fact that the included 'httxt2dbm' support utility will not properly parse a txt file containing whitespace inside a URL. 3. The 'txt' RewriteMap type will not properly parse URLs containing whitespace. This problem has come up repeatedly on message boards and we have encountered it, as well. There are numerous hacks (e.g. re-encode the URL before passing to the map and use percent-encoded form in the 'txt' map). However, supporting very simple quoting is easy enough. Attached are "git diff" files for: "modules/mappers/mod_rewrite.c": allow for single- and double-quote delimited strings in the text mapping file, with backslash-escaping of the chosen quote permissible "support/httxt2dbm.c": allow for single- and double-quote delimited strings in the text mapping file, with backslash-escaping of the chosen quote permissible; also includes an option to enable application of an unescape function to the parsed keys and values before adding them to the DBM file The patches are against the HEAD of the current git repo; the modifications have been extensively tested on current Apache 2.4 and 2.2 releases.
work around: echo -e 'key line\nvalue line' | db_load -T -t hash mapfile.db
Still annoying. I don't know of any suitable workaround for {space} inside a txt RewriteMap. There is no "%-encoding" workaround and no way to actually filter the MatchingKey (unlike the MatchingValue)