<div>On Wed, Jul 27, 2011 at 5:18 PM, Mattias Geniar <span dir="ltr"><<a href="mailto:mattias@nucleus.be">mattias@nucleus.be</a>></span> wrote:</div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">> I have a main website running which has now been translated to<br>
different languages. The different language sites are running on<br>
different backend servers. I want to redirect/distribute traffic to<br>
backends based on the url without rewriting the url/host.<br>
<br>
</div>That's possible, you can set a different backend based on a (part of<br>
the) URL. Have a look here:<br>
<a href="https://www.varnish-cache.org/docs/trunk/tutorial/advanced_backend_serve
rs.html" target="_blank">https://www.varnish-cache.org/docs/trunk/tutorial/advanced_backend_serve<br>
rs.html</a><br>
<br>
Specifically, you'd want something as:<br>
sub vcl_recv {<br>
    if (req.url ~ "^/en/") {<br>
        set req.backend = backend_en;<br>
    } elseif (req.url  ~ "^/hi/" {<br>
        set req.backend = backend_hi;<br>
    }<br>
}<br>
<br>
Regards,<br>
<font color="#888888">Mattias<br>
</font></blockquote></div><br><div><div>This doesn't work...</div><div><br></div><div><div>  if (req.http.host == "<a href="http://www.domain.com">www.domain.com</a>" && req.url  ~ "^/hi$") {</div>

<div>       set req.backend = hiserver; }</div><div>   elseif (req.http.host == "<a href="http://www.domain.com">www.domain.com</a>" && req.url  ~ "^/$") {                 # if /hi is not specified, i.e go to /</div>

<div>       set req.backend = enserver; }                            </div><div>   else  {set req.backend = default; }                                   # all other sites go here</div></div><div><br></div><div><br></div>
<div>
All requests are going to "default" or "enserver".</div><div><br></div><div>Kindly help, thanks in advance.</div><br clear="all">ShiB.<br>while ( ! ( succeed = try() ) );</div>