如何在 Apache 上修改代理图像 headers?

How can proxied image headers be modified on Apache?

我们代理图像作为许可内容,需要向代理图像添加 max-age headers。尝试修改 .htaccess,但没有成功,怀疑这是因为代理图像文件夹不是服务器上的实际目录。

首先,代理设置在apache2.conf:

# Image Proxy
ProxyPass /photo http://photo.licensor.com
ProxyPassReverse /photo http://photo.licensor.com

多次尝试修改站点 public_html 目录下的 .htaccess。由于 /photo 不是真正的目录,Apache 似乎永远无法识别为代理图像修改 max-age header 的条件。

我真的很想只使用非真实的 /photo 目录定位代理图像。

您不能在 htaccess 文件中使用 <location> 容器。最好将它放在 ProxyPass 设置旁边的 apache 服务器配置文件中:

<LocationMatch "/photo">
  # Image Proxy
  ProxyPass http://photo.licensor.com
  ProxyPassReverse http://photo.licensor.com
  Header unset Etag 
  Header set Cache-Control "max-age=86400, public" 
  Header unset Expires
</LocationMatch>