MapServer CGI Introduction


  • Variable names are not case sensitive.
  • In cases where multiple values are associated with a variable (eg. mapext), the values must be separated by spaces (or their escaped equivalents for GET requests).
  • Variable contents are checked for appropriate data types and magnitude as they are loaded.
  • Any CGI Variable not listed below is simply stored and can be referenced within a template file.


From MapServer version 4.x to version 5.x

From MapServer version 3.x to version 4.x

  • New way to perform attribute queries: No longer do you set a layer filter, but rather you pass a query string (and optionally a query item) to the query function. To do this two new CGI parameters were added to MapServer: QSTRING and QITEM.
  • SAVEMAP is switched off: The SAVEMAP functionality is considered insecure, since the saved files are accessible by everyone.
  • TEMPLATE has been removed, since the map_web_template syntax can be used to alter a template file. Simplifies security maintenance by only having to deal with this option in a single place. Note that the TEMPLATEPATTERN of the mapfile has to be used to enable this feature.