Ciao Antonio,
OK, abbiamo esaurito i check standard sulla configurazione del prodotto: ora bisogna debuggare per scoprire le ragioni dei tuoi HTTP 404 .
In pratica da codice ci sono due punti in cui questo può succedere prima che Moodle provi a servirti il file richiesto:
- https://github.com/moodle/moodle/blob/0c431257e9b656f784e92e2a45a1120a406ce8c2/file.php#L91
- https://github.com/moodle/moodle/blob/0c431257e9b656f784e92e2a45a1120a406ce8c2/file.php#L99
Si tratta di capire se si fermi in questi punti e, nel caso, perché.
Per farlo, puoi temporaneamente modificare il file file.php in questo modo per prendere nota di alcuni valori:
diff --git a/file.php b/file.php
index 3dc8449..1efaf18 100644
--- a/file.php
+++ b/file.php
@@ -83,6 +83,12 @@ $fs = get_file_storage();
$fullpath = "/$context->id/course/legacy/0/$relativepath";
+// For debugging purposes only.
+echo 'fullpath: '.$fullpath;
+echo '<br />';
+echo 'pathnamehash: '.sha1($fullpath);
+die();
+
if (!$file = $fs->get_file_by_hash(sha1($fullpath))) {
if (strrpos($fullpath, '/') !== strlen($fullpath) -1 ) {
$fullpath .= '/';
così facendo potrai verificare che il presunto "fullpath" sia corretto e quindi cercare l'hash nella tabella mdl_files cioè un record la cui colonna pathnamehash valga quanto scritto a video: se non esiste infatti otterrai HTTP 404. Se fosse questo il caso bisognerà capire come mai nella migrazione non abbia migrato i files legacy.
HTH,
Matteo