0

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

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 中显示我的地图,仅此而已。例如,我想在原始 URL 中隐藏我的目录,例如 /home/mwh/osm-demo/basemaps/。

4

2 回答 2

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]

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

干杯,弗朗切斯科

于 2013-05-18T08:52:40.310 回答
0

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

SetEnvIf Request_URI "/cgi-bin/mapserv" MS_map file=/home/mwh/osm-demo/basemaps/osm-google.map
于 2017-03-13T17:53:20.897 回答