Installation

Note

Please see the Overview for the server-level requirements before attempting to use LSCache.

Server-Level

Configure the Server

LSCache must be set up at the server level before it can be made available to any sites on the server.

Tip

If you are a site owner and you don't have access to your server's admin functions, chances are your hosting provider has already done this setup for you, or can help you to complete it.

See Configure Cache Root and Cache Policy for instructions

Basic Rewrite Rules

Once the server level configuration is complete, it's time to set up the rewrite rules that govern the LSCache engine.

Add these lines to the virtual host's document root .htaccess file:

<IfModule litespeed>
    CacheLookup on
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !/admin/ [NC]
    RewriteRule .* - [E=cache-control:max-age=120]
</IfModule>

And with that, you have just enabled caching on your site. All pages that are not in the admin subdirectory, will be cached publicly for two minutes.

This is a very basic set of rules. You can change the RewriteCond directive to include or exclude whatever pages you like. You can adjust cache-control to use private cache instead of public, or cache pages for a week (though, we don't recommend that for caching without a plugin). See Configuration for a host of more powerful examples, including some suggested settings for well-known web apps.

Verify Your Site is Being Cached

You can verify a page is being served from LSCache through the following steps:

  1. From a non-logged-in browser, open the developer tools and navigate to your site. Open the Network tab.
  2. Refresh the page.
  3. Click the first resource. This should be an HTML file. For example, if your page is http://example.com/webapp/, your first resource should either be something like example.com/webapp/ or webapp/.
  4. If you see headings similar to
    X-LiteSpeed-Cache: miss
    X-LiteSpeed-Cache-Control:public,max-age=1800
    X-LiteSpeed-Tag:B1_F,B1_ 
    
    (for example), this means the page had not yet been cached, but that LiteSpeed has now stored it for future use.
  5. Reload the page and you should see X-LiteSpeed-Cache: hit in the response header. This means the page is being served by LSCache and is configured correctly.
  6. If you don't see X-LiteSpeed-Cache: hit or X-LiteSpeed-Cache: miss, then there is a problem with the LSCache configuration.

Last update: September 18, 2020