Well, the suspicion for me would be something in rewrite. With cleanurls = false, everything works so I'm not convinced it is an issue with FluxCP, but I'm still not sure what is driving the behaviour. A new discovery, you can view the pages if you use the admin menu here:
Which provides a URI like this: domain.com/pages/content/?path=rules
So for some reason, the link provided by clicking in Rules/Download on the left menu is broken, but the admin view page link is not. Is that FluxCP or rewrite?
Edit2: Separating this out, not a rewrite issue:
Another oddity I noticed; favicon works with cleanurls = false, but vanishes with cleanurls = true.
Edit: can confirm the favicon going away is based on rewrite (cleanurls = true), if you click on the header picture it sends you to BASEURL, whereas clicking on MainMenu->Home sends you to BASEURL/main/ and console shows 404 for favicon at a URI of BASEURL/main/favicon.ico (or any other module not defined as BASEURL) which makes sense because the file is located at BASEURL not /main/, so makes me think the page thing is too; the confusing part to me then is why the link from admin panel will show me the rules page but the main menu link will not.
Edit2: The favicon is caused by themes. The href for favicon is to point at current directory instead of root.
This works fine with cleanurls = false, but does not work with cleanurls = true since our URI changes to a folder-like structure. I don't see why href can't always be "/favicon.ico" by default (remove the dot and force root path) in these files, since the favicon should (by default from checkout in git) be located at root path.