Context and perl regexps

Discussion in 'Install/Configuration' started by zellster, Jun 17, 2005.

  1. zellster

    zellster Well-Known Member


    I have the following context set up under LSWS SE 2.0.7:

    [Proxy] "/" --> Java app server

    I would like to selectively redirect certain directory paths to a different server, primarily for serving static content (LiteSpeed is acting as a firewall in this scenario).

    I tried the following context:

    [Proxy] exp:^/(css|img|ssi)/ --> Web server

    Unfortunately, that Perl expression did not seem to work in that requests to http://myserver/css/my.css and others still go to the Java app server.

    I then tried:

    [Proxy] exp:^/(css|img|ssi)/.* --> Web server

    which didn't produce the desired result, either. I am guessing that non-regexes are matched before regexes, which would always match against "/".

    Other than using three separate contexts (/css/, /img/, /ssi/) is there a better way to do the above?

  2. mistwang

    mistwang LiteSpeed Staff

    That's correct, explicit matching always takes place before regex matching. It is the current design.

    Noop, at this point.
    Actually, it should be faster than using regex matching.
  3. zellster

    zellster Well-Known Member


    How does the regexp matching work? Supposed I changed the context URIs like the following:

    [Proxy] exp:^/.* --> Java App Server
    [Proxy] exp:^/(css|img|ssi)/.* --> Static content provider

    Which order would LSWS attempt to match incoming requests? Is there a way to specify that the 2nd exp should be tried first?

  4. mistwang

    mistwang LiteSpeed Staff

    Yes, you can specify the order of contexts from the admin interface by clicking the "+"/"-" sign in the sequence colume. Regex context with lower sequence number will be tried first.

Share This Page