I am having an issue with Mapserver 6.4.1 when attempting to pass a
layer labelitem parameter setting via URL.
The map file contains the following validation for layer 0
VALIDATION
labelitem [a-z]+
END
The following request works (ignore the double quotes around the entire
URL):
the + sign is used to encode a space in a url, and that space is what
mapserver's parser is looking for. translated to mapfile syntax, your
first two requests are parsed as
labelitem columnname
whereas the last one is
labelitem+columnname
which is invalid.
tl;dr don't escape the + sign,
-users] Mapserver CGI URL parameter parsing with plus
character escaped as %2b
the + sign is used to encode a space in a url, and that space is what
mapserver's parser is looking for. translated to mapfile syntax, your first two
requests are parsed as
labelitem columnname
whereas the last one
Thank you for the speedy response.
Yes.. that was exactly the issue. By placing a literal space within the
parameter within OpenLayers, the URL arrives at mapserver escaped as
labelitem%20columnname and everything works.
May I suggest somewhere in the Mapserver CGI documentation it might
mention