Installation and Configuration

Before installing and activating the LSCache plugin, deactivate all other full-page cache plugins.


You can still use other types of cache (like object cache), but only one page cache can be used at a time, so you’ll need to disable any other page caches, if you want to use LSCache.

Add-on Installation


Please see the Overview for the server-level requirements before attempting to install this add-on.

  1. Download the LiteSpeed Cache for XenForo plugin package.
  2. Access the server hosting your XenForo installation, either directly or using SSH or SFTP.
  3. From the unzipped LSCXF2 folder, copy all files under upload to the root directory of your XenForo 2 installation.
  4. In the XenForo control panel, navigate to the Add-ons section to complete the installation.


All configuration for this plugin is handled at the .htaccess level. There is no admin screen.

Once you have downloaded and installed the plugin package, edit the .htaccess file in the XenForo root directory and add the code shown below to the top of the file:

# LiteSpeed XenForo cache
<IfModule litespeed>
    CacheLookup public on
    RewriteEngine On
    # cache
    RewriteCond %{HTTP_COOKIE} !(xf_lscxf_logged_in|xf_user|xf_session_admin) [NC]
    RewriteCond %{REQUEST_URI} !/install/ [NC]
    RewriteRule .* - [E=Cache-Control:max-age=360,E="cache-vary:xf_style_id,xf_language_id"]
    # no cache
    RewriteCond %{HTTP_COOKIE} (xf_lscxf_logged_in|xf_user|xf_session_admin) [NC]
    RewriteRule .* - [E=Cache-Control:vary=loggedin,E=Cache-Control:no-cache]

Make the following customizations where appropriate:

  • If your XenForo site has a separate mobile view, include the following lines inside the <IfModule litespeed> tags:
        # mobile view
        RewriteCond %{HTTP_USER_AGENT} Mobile|Android|Silk/|Kindle|BlackBerry|Opera\ Mini|Opera\ Mobi [NC]
        RewriteRule .* - [E=Cache-Control:vary=ismobile]
  • The default cookie prefix set for XenForo is xf_, so all cookies set by xenForo will begin with this prefix (xf_user, xf_session_admin, etc). If you have changed the cookie prefix in the XenForo configuration file, please make sure to update all xf_COOKIE_NAME cookies in the rewrite rules above to use the correct prefix. For example, if your set cookie prefix is myXF_ you would update xf_user to myXF_user and so on.
  • If you want to cache for more or less than 360 seconds, change 360 to the number of seconds you wish. (Recommended < 10 minutes).


The code provided must be added before any rewrite rules containing the [L] flag, otherwise .htaccess could stop processing and prevent the code from being executed.

Verify Your Site is Being Cached

!Verify Cache Miss

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

  1. From a non-logged-in browser, navigate to your site, and open the developer tools (usually, right-click > Inspect). 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, your first resource should either be something like or webapp/.
  4. You should see headings similar to these:
    X-LiteSpeed-Cache: miss
    These headings mean the page had not yet been cached, but that LiteSpeed has now stored it, and it will be served from cache with the next request.
  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.
    !Verify Cache Hit

Alternative Headers

The X-LiteSpeed-Cache header is most common, but you may see X-LSADC-Cache if your site is served by LiteSpeed Web ADC. You may also see X-QC-Cache if your site was served via CDN. These alternate headers are also an indication that LSCache is working properly on your site.


If you don't see X-LiteSpeed-Cache: hit or X-LiteSpeed-Cache: miss (or any of the alternative headers), then there is a problem with the LSCache configuration.

Last update: October 14, 2020