Configure Nextcloud to not use index.php (mod rewrite)
Configure cron to run using cron jobs (not web!)
Trigger any activity containing an link (e.g. calendar event modified or form shared)
Wait for digest mail
Expected behaviour
Absolute URL used in email is using correct server address without the index.php.
Actual behaviour
Message contains the index.php.
Other
I checked everything - the URL generate correctly generates the link when used from the webui (e.g. in the notifications app).
But not when sending the digest mail.
I guess the problem is that a background job is sending it, the background job is called by the cron.php which is not using a real request thus the environment for removing the index.php (front_controller_active) is not set.
So when calling the Activity Provider within that context the generated URL will always include the index.php which - depending on the server configuration can be invalid and lead to 404 error.
PS: I am not sure if this is not a server core issue, at least I could not find any information in the docs saying you can not rely on URL Generator when running from background jobs.
Steps to reproduce
index.php
(mod rewrite)Expected behaviour
Absolute URL used in email is using correct server address without the
index.php
.Actual behaviour
Message contains the
index.php
.Other
I checked everything - the URL generate correctly generates the link when used from the webui (e.g. in the notifications app). But not when sending the digest mail.
I guess the problem is that a background job is sending it, the background job is called by the cron.php which is not using a real request thus the environment for removing the
index.php
(front_controller_active
) is not set. So when calling the Activity Provider within that context the generated URL will always include theindex.php
which - depending on the server configuration can be invalid and lead to 404 error.