regsub, string concatenation?

DHF varnish-list at itiva.com
Fri Apr 18 20:45:49 CEST 2008


Jon Drukman wrote:
> i'm trying to rewrite all incoming URLs to include the http host header 
> as part of the destination url.  example:
>
> incoming: http://site1.com/someurl
> rewritten: http://originserver.com/site/site1.com/someurl
>
> incoming: http://site2.com/otherurl
> rewritten: http://originserver.com/site/site2.com/someurl
>
> the originserver is parsing the original hostname out of the requested 
> url.  works great with one hardcoded host:
>
> set req.url = regsub(req.url, "^", "/site/site1.com");
>
> i can't get it to use the submitted http host though...
>
>   set req.url = regsub(req.url, "^", "/site/" + req.http.host);
>
> varnish complains about the plus sign.  is there some way to do this 
> kind of string concatenation in the replacement?
>   
Try this:

set req.url = "/site/" req.http.host "/" req.url;

The extra / by itself might not be necessary.  Set will allow you to
concatenate strings but I'm not sure the regsub will.  I think this will
provide you what you are looking for, let me know.

--Dave




More information about the varnish-misc mailing list