Publish Volto site not in the root of the domain

Hi,
anyone here published a Volto site on an address like "mydomain.com/this-is-my-volto-site"?

I mean that usually we publish Volto stack as:

For a customer we need to publish the Volto site in a sublevel of the domain (/whatever) but it seems not working.

I talked about that with @sneridagh but maybe someone else already struggled (and solved) with this problem

1 Like

Yes. we're working on that.

We have a Plone 4 website serving Plone 4 classic and at /this-is-my-volto-site we're trying to add Volto.

There are some issues with the internal links, because you need to force refresh everything that's not under /this-is-my-volto-site

I will try to post here our LB config (Rancher LB/HAProxy)

thanks, that will help!

And in my tests too i had problems with internal links/resources like images

Yes, you'll have to tell your LB that everything under:

Frontend / LB

  • /this-is-my-volto-site
  • /static
  • /controlpanel
  • /cors-proxy (if you're using volto-corsproxy)
    to be served by Volto instance.

Also /api to point to Plone (I think this may be skipped in the future when we'll have ++api++ traverser in plone.rest).

haproxy.cfg

backend api
  http-request set-path /VirtualHostBase/https/mydomain.com:443/Plone/VirtualHostRoot/_vh_api/%[path,regsub(\/api,,g)]

Start Volto:

RAZZLE_API_PATH=https://mydomain.com/api RAZZLE_INTERNAL_API_PATH=https://mydomain.com/api yarn build && yarn start:prod

You may also need to create a DX folder under Plone called this-is-my-volto-site

We have an express middleware for that:

And we're trying to fix the internal links issues with External routes

This may also help @eeacms/volto-middleware-vh