在MapServer CGI中使用Apache ReWrite模块隐藏MapFile的路径


发布日期 : 2015-02-19 09:07:37 UTC

访问量: 206 次浏览

在MapServer CGI的使用中,需要使用“map”参数,来指明使用哪个MapFile。在查询语句中,暴露出来 MapFile的路径有可能会导致出现安全问题。使用Apache的 mod_rewrite模块并配合使用htaccess文件,可以将路径信息隐藏起来。

在 .htaccess 文件中,按如下书写:

 Options +FollowSymlinks RewriteEngine on RewriteRule ^map/(.+) /cgi-bin/mapserv?map=/etc/srv/mapfile/$1/$1.map [QSA,L] 

上面的规则,会将所有的 URL请求

 http://domain_name/map/mycity?mode=map&layers=all 

定向至:

 http://domain_name/cgi-bin/mapserv?map=/etc/srv/mapfile/mycity/mycity.map&mode=map&layers=all