![通过代理修改页面内容](https://linux22.com/image/534133/%E9%80%9A%E8%BF%87%E4%BB%A3%E7%90%86%E4%BF%AE%E6%94%B9%E9%A1%B5%E9%9D%A2%E5%86%85%E5%AE%B9.png)
是否可能出现以下场景:我想通过我的 Web 服务器访问第三方网站。是否可以在中间将所有对第三方 .CSS 文件的请求重写为我的服务器上的文件?
答案1
是的,不过抓取数据将由您的 Web 服务器执行,而不是客户端。如果配置不当,您将成为网络上的开放代理,这是一件坏事。除非您考虑 SSL,否则直接从您自己的页面调用远程服务器上的 css 文件可能会获得更好的客户端并行化。
<ifModule mod_proxy.c>
RewriteRule http://example.com/css/pretty.css http://othersite.com/css/pretty.css [P]
</ifModule>
这将利用 mod_rewrite 和 mod_proxy 来做您想要的事情,您网站上对 pretty.css 的请求将从远程站点获取,并像您的站点一样提供服务。
当您开始将正则表达式引入 RewriteRule 时,可能会遇到麻烦。
<ifModule mod_proxy.c>
RewriteRule http://example.com/css/(+*) http://othersite.com/css/$1 [P]
</ifModule>
这将通过类似http://example.com/css/../cgi-bin/mt.cfg到远程站点,远程站点将正常提供服务。