# Serve directories at different paths

In some cases you might want to depart from the common practice of serving directories directly.
You might want to create a URL structure different than the structure on your disk.

For example, in Git you might have a folder for your app and another folder that builds your documentation.
Your entire Git repository might look like the following:

```text {no-copy="true"}
.upsun
    config.yaml
application/
    [app-code-files]
docs-src/
    [docs-code-files]
```

And your build process might build the documentation with an output folder such as `docs-public`.

If so, you can serve all requests by your app code except for those that start with `/docs`,
which you serve with your generated docs.
Use a [`web` configuration](https://docs.upsun.com/create-apps/image-properties/web.md) similar to the following:

```yaml  {location=".upsun/config.yaml"}
applications:
  docs:
    source:
      root: "/"
      web:
        locations:
          '/':
            passthru: true
          '/docs':
            root: 'docs-public'
            index:
              - "index.html"
            expires: 24h
            scripts: false
            allow: true
```

This way, your app can safely coexist with static files as if it were a single site hierarchy.
And you can keep the static pages separate from your app code.

