# Static content handling

Static content is now handled by a filter called "staticFilter" that can easily be enabled and configured in your config file. For instance, if you wanted to serve `/style.css` from `/home/site/style.css` and `/static/*` from `/home/site/static/*`, you can use the following configuration:

Static filter configuration

                [global]
                staticFilter.root = "/home/site"

                [/style.css]
                staticFilter.on = True
                staticFilter.file = "style.css"

                [/static]
                staticFilter.on = True
                staticFilter.dir = "static"

The `staticFilter.root` entry can be either absolute or relative. If absolute, static content is sought within that absolute path. Since CherryPy cannot guess where your application root is located, relative paths are assumed to be relative to the directory where your `cherrypy.root` class is defined (if you do not provide a root, it defaults to "", and therefore to the directory of your `cherrypy.root` class).

As an application developer, the design of your application affects whether you choose to use absolute or relative paths. If you are creating a one-off application that will only be deployed once, you might as well use absolute paths. But you can make multiple deployments easier by using relative paths, letting CherryPy calculate the absolute path each time for you. Absolute paths, however, give deployers the ability to place static content on read-only filesystems, or on faster disks.