重写图像路径

Bar*_*n85 3 .htaccess mod-rewrite

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

即在imagesite.com/images我托管我的图像和website.com我有我的网站.

website.com我使用托管的图像imagesite.com/images.当然,URL website.com指向imagesite.com/images,有什么方法可以使它看起来像托管在图像上 website.com

SáT*_*SáT 5

默认情况下,不会,mod_rewrite的内部重定向不能跨域工作,除非两个域都托管在同一台服务器上.

您当然可以请求重定向到其他服务器:

 RewriteRule ^images/(.*) http://imagesite.com/images/$1 [R]
Run Code Online (Sandbox Code Playgroud)

但这可能不是你想要的(浏览器的地址栏将显示图像服务器的地址).

但是,您可以使用P标志让mod_proxy发出代理请求.手册中给出的示例正是您希望实现的目标:

RewriteRule (.*)\.(jpg|gif|png)$ http://images.example.com/$1.$2 [P]
Run Code Online (Sandbox Code Playgroud)

mod_proxy非常酷,但是使用服务器端语言处理它可能更经济,更容易:内部将请求重定向到一个脚本,该脚本获取远程图像并输出它 - 请参阅此问题以获得解决方案.