重写图像URL


Rewrite Image URL

我使用的是监控软件提供的RESTful API,它可以很好地提取资源使用情况图。不幸的是,包括私钥在内的整个URL都暴露在图像URL中,这意味着我无法公开显示信息。

由于我想通过将图像保存到网络服务器上的磁盘来避免缓存图像,有什么方法可以屏蔽/重写图像URL吗?目前我使用以下格式来拉它,这是当你右键点击->查看图像信息时显示的内容。

http://domain.net/chart.png?type=graph&graphicd=&宽度=840&高度=300&id=9776&username=myuser&passhash=mypasshash

如果url在同一台服务器上,可以使用内部重写。如果转到http://example.com/mygraph.png,它将在内部重写为该文件路径,客户端仍将在其url栏中看到http://example.com/mygraph.png

RewriteRule ^mygraph.png$ /chart.png?type=graph&graphid=&width=840&height=300&id=9776&username=myuser&passhash=mypasshash [L]

如果映像在外部域上,则必须代理请求。当请求http://example.com/mygraph.png时,您的服务器将通过内部代理向外部服务器重做请求。因此,外部服务器会将您视为线路的另一端,您的服务器会将外部服务器的响应传递给客户端。

RewriteRule ^mygraph.png$ http://externaldomain.com/chart.png?type=graph&graphid=&width=840&height=300&id=9776&username=myuser&passhash=mypasshash [P,L]

mod_rewrite的文档可在此处找到。本文档提供了有关代理的更多信息。