我有一个用于查看使用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 /的目录。
答案 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