Hi Beni, Thank for responding :-)
The doco states that: url_beg <string> Returns true when the URL begins with one of the strings. This can be used to check whether a URL begins with a slash or with a protocol scheme. So I'm assuming that "protocol scheme" means http:// or ftp:// or whatever.... Other parts of the documentation state that: url_ip <ip_address> Applies to the IP address specified in the absolute URI in an HTTP request. It can be used to prevent access to certain resources such as local network. It is useful with option "http_proxy". url_port <integer> Applies to the port specified in the absolute URI in an HTTP request. It can be used to prevent access to certain resources. It is useful with option "http_proxy". Note that if the port is not specified in the request, port 80 is assumed. So I've been assuming that anything starting with url_ refers to the whole user supplied string parameters and all... This seems to be reinforced (I think!) by: url_dom <string> Returns true when one of the strings is found isolated or delimited with dots in the URL. This is used to perform domain name matching without the risk of wrong match due to colliding prefixes. See also "url_sub". Which sure looks like the host portion to me! If I'm suffering from a bit of 'brain fade' here just set me on the right road :-) If the url_ criteria have different interpretations in terms of what the 'url' is then let's find out what these are! Cheers Andrew -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Benedikt Fraunhofer Sent: Wednesday, 28 April 2010 6:23 PM To: Andrew Commons Cc: [email protected] Subject: Re: Matching URLs at layer 7 Hi *, 2010/4/28 Andrew Commons <[email protected]>: > acl xxx_url url_beg -i http://xxx.example.com > acl xxx_url url_sub -i xxx.example.com > acl xxx_url url_dom -i xxx.example.com The Url is the part of the URI without the host :) A http request looks like GET /index.html HTTP/1.0 Host: www.example.com so you can't use url_beg to match on the host unless you somehow construct your urls to look like http://www.example.com/www.example.com/ but don't do that :) so what you want is something like chaining acl xxx_host hdr(Host) .... acl xxx_urlbe1 url_begin /toBE1/ use_backend BE1 if xxx_host xxx_urlbe1 ? Cheers Beni.

