
是否可能出現以下情況:我想透過我的網頁伺服器存取第三方網站。是否可以在中間將所有對第三方 .CSS 檔案的請求重寫為我伺服器上的檔案?
答案1
是的,儘管將由您的網頁伺服器而不是客戶端進行提取。如果以錯誤的配置方式這樣做,您可能會成為網路上的開放代理,這是一件壞事。除非您有 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到遠端站點,遠端站點將很好地提供服務。