将Mapserver默认URL转换为更加用户友好的版本

时间:2013-05-18 06:50:35

标签: mapserver osgeo

我有一个用于查看使用MapServer生成的地图的URL。

http://localhost/cgi-bin/mapserv?map=/home/mwh/osm-demo/basemaps/osm-google.map&mode=browse&template=openlayers&layers=all

如何将其转换为更常规的样式,例如http://foo.com

我只需要在maps.google.com或www.openstreetmap.com等特定网址中显示我的地图,仅此而已。例如,我想在原始URL中隐藏显示如/ home / mwh / osm-demo / basemaps /的目录。

2 个答案:

答案 0 :(得分:0)

如果您有apache,请在您的conf文件(或.htaccess文件)中添加以下行:

RewriteEngine on

RewriteRule ^mymapserver /cgi-bin2/mapserv.exe?map=/home/mwh/osm-demo/basemaps/osm-google.map&mode=browse&template=openlayers&layers=all& [QSA]

RewriteRule ^mymapserverwms(.*) /cgi-bin/mapserv?map=/home/mwh/osm-demo/basemaps/osm-google.map&SERVICE=WMS&VERSION=1.3.0& [QSA]

在该示例中,网址http://localost/mymapserver将转换为您的长字符串。
请检查Apache中的文档“RewriteEngine”。

干杯, 弗朗西斯

答案 1 :(得分:0)

您可以在Apache配置中使用MapServer变量MS_map作为SetEnvIf指令的一部分,如:

SetEnvIf Request_URI "/cgi-bin/mapserv" MS_map file=/home/mwh/osm-demo/basemaps/osm-google.map