重写图片网址

时间:2013-11-30 12:58:52

标签: php image .htaccess caching url-rewriting

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

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

http://domain.net/chart.png?type=graph&graphid=&width=840&height=300&id=9776&username=myuser&passhash=mypasshash

1 个答案:

答案 0 :(得分:1)

如果网址在同一台服务器上,则可以使用内部重写。如果您转到http://example.com/mygraph.png,它将在内部重写为该文件路径,客户端仍会在其网址栏中看到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的文档hereThis documentation提供了有关代理的更多信息。