如何在我的网站上重写图像路径?
即。在imagesite.com/images
我托管我的图片,然后在website.com
我有我的网站。
在website.com
上我使用imagesite.com/images
上托管的图片。
当然,website.com
上的网址指向imagesite.com/images
,
是否有某种方式可以使它看起来像托管的图像
website.com
?
答案 0 :(得分:5)
默认情况下,不会,mod_rewrite的内部重定向不能跨域工作,除非这两个域都托管在同一台服务器上。
您当然可以将请求重定向到其他服务器:
RewriteRule ^images/(.*) http://imagesite.com/images/$1 [R]
但这可能不是您想要的(浏览器的地址栏将显示图像服务器的地址)。
但是,您可以使用P flag让mod_proxy发出代理请求。手册中给出的示例正是您希望实现的目标:
RewriteRule (.*)\.(jpg|gif|png)$ http://images.example.com/$1.$2 [P]
mod_proxy非常酷,但是使用服务器端语言来处理它可能更经济,更容易:内部将请求重定向到一个脚本,该脚本获取远程图像并输出它 - see this question以获取此解决方案