Platform.sh User Documentation

Serve directories at different paths

Sign up for Upsun

Get your free trial by clicking the link below.

Get your Upsun free trial

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:

.platform
    routes.yaml
    services.yaml
    applications.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 similar to the following:

.platform/applications.yaml
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.

Is this page helpful?