重写图像路径

时间:2012-12-09 01:43:25

标签: .htaccess mod-rewrite

如何在我的网站上重写图像路径?

即。在imagesite.com/images我托管我的图片,然后在website.com我有我的网站。

website.com上我使用imagesite.com/images上托管的图片。 当然,website.com上的网址指向imagesite.com/images, 是否有某种方式可以使它看起来像托管的图像 website.com

1 个答案:

答案 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以获取此解决方案