> > I need to use an external program to potentially replace images requests, > > based on the referers, but url_rewrite does not pass the referer. > > It is for people direct linking images on many external sites/forums. > > I need the referer because the images seen directly on our site should not be > > replaced. > > Would a combination with external_acl do the trick? > > Yes it would. However keep in mind that the referer header can be easily > forged and get past this type of protection. Indeed; but forging the header won't be easily done from forums/blogs links hopefuly. > > The thing is, I need also to rewrite legit URLs in some other cases... > > Can I have more than one url_rewrite blocks? > > > > url_rewrite_program "/squid/abuse_rewrite.php" > > url_rewrite_children 5 > > url_rewrite_concurrency 0 > > url_rewrite_host_header off > > url_rewrite_access allow abuser > > url_rewrite_access deny all > > > > url_rewrite_program "/squid/oldurl2newurl.php" > > url_rewrite_children 5 > > url_rewrite_concurrency 0 > > url_rewrite_host_header off > > url_rewrite_access allow all > > > > You will find its often better to redirect users with 302. > That can be done most efficiently like so: > > acl oldURL ... > deny_info http://new.location oldURL > http_access deny oldURL > > can be done seperately to cover as many different redirections and cases > as you need. The problem is that the rewriting can be complex and context dependant... By example: only big abusers images will be changed (decision needs an external script). Other example: *.small.* -> *.320.*, etc... I need an external script that can handle complex cases. So, can I have more than one url_rewrite "blocks"? Thx, JD