Custom domain
I recently realized that the url of documents are a bit cumbersome to use. For example, in my local instance the webId is the following:
http://nextcloud.local/index.php/apps/solid/@admin/profile/card#me. Where:
-
http://nextcloud.localis the domain of the nextcloud instance. -
/index.php/apps/solid/is the path to the app. -
@adminis the username of the Nextcloud user. -
/profile/card#meis finally the document in the Solid POD.
I wonder if it would be possible to configure it so that the Solid POD is served on a custom domain? Ideally I could set it up to be whatever I want, like https://mypod.com/profile/card#me. I guess I could do some rewrites in the server itself to make it transparent to the app, but the RDF data in the POD would still contain the entire url, right? Is there a way to work around this?
Good question! I don't know the answer straight away, I'll have to dive into the code and come back to you on this.
A related issue that could be fixed with custom domains is a security issue. If you host HTML content for different people under the same domain, you can get all kinds of security issues. If each person got their own subdomain, e.g. auke.solid-nextcloud.org/, these problems would go away. So I think we should try to make this the default, or at least very easy to setup. I know how to do this for Apache and Nginx should be easy as well, but this side is almost impossible to automate. On the nextcloud (or solid plugin) side we'll need some extra code as well, not sure how much work this will be. Anyway, I would like to prioritize this issue.
Looking at the docs it would be easy to go:
- from
http://nextcloud.local/index.php/apps/solid/@admin/profile/card#me - to
http://nextcloud.local/apps/solid/@admin/profile/card#me
using "Pretty URLs"
In theory it could be possible to go
- from
http://nextcloud.local/apps/solid/@admin/profile/card#me - to
http://nextcloud.local/solid/@admin/profile/card#me
by customizing the app directories
Although that is likely to have unexpected side effects.
Alternatively, as the Pretty URLs solution requires editing Apache config or .htaccess for redirects, something could be done there, but that would require some further thinking.
I think part of the issue is that Nextcloud is created with the idea of multiple users in mind... Not entirely sure how that would impact trying to get rid of the @admin in the URL. We'd have to experiment to find out, I guess.