Próbuję ustawić Moodle 2.3 (nie 2.5) ver z najnowszą kompilacją nginx. Wcześniej było kilka porad na tej stronie. Jeden z nich: Moodle 2.0 with Nginx backend.Moodle 2.3 z Nginx vs argument przemiany
Najwyraźniej jak wiadomo, Moodle stosuje reguły path_info, aby opublikować URL w następujący sposób: http://example.com/moodle/pluginfile.php/26/mod_scorm/content/1/index.html. Aby uciec od tego koszmaru, Moodle proponuje wyłączenie "argumentów Slasha" w interfejsie użytkownika. Który jest świetny. Ale nie dla gracza SCORM, który wymusza "Slash argument" pomimo poprzedniej opcji. Tak więc przy wyłączonych "argumentach Slasha" wszystko działa normalnie. Ale moim jedynym celem jest użycie odtwarzacza SCORM.
Próbowałem użyć reguły przepisywania z linku powyżej:
rewrite ^(.*\.php)(/)(.*)$ $1?file=/$3 last;
który nie pracuje w 2,3-2,5 ver. Zakładam, że działało w wersji 1.9. Teraz Moodle wykorzystuje inną drogę:
http://example.com/moodle/pluginfile.php/26/mod_scorm/content/1/index.html
niektóre z zasad nginx:
location ^~ /moodle {
location ~* ^.+\.(?:css|js|htc|xml|jpe?g|gif|png|ico|bmp|svg|swf|pdf|docx?|xlsx?|tiff?|txt|rtf|cgi|bat|pl|dll|aspx?|class|otf|ttf|woff|eot|less)$ {
add_header Access-Control-Allow-Origin *;
access_log off;
expires 30d;
tcp_nodelay off;
try_files $uri =404;
}
location ~* ^/moodle/.*\.php$ {
include includes/fastcgi_params.conf;
try_files $uri @dynamic;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_read_timeout 1200;
fastcgi_keep_conn on;
fastcgi_pass 127.0.0.1:9090;
}
rewrite (^.*\.php)(/.*) $1 last;
}
Proszę doradzić, jak rozwiązać ten problem.
Należy umieścić rozwiązanie jako odpowiedź na swoje pytanie i przyjmuję je. –
Ponadto, czy mógłbyś opublikować swój cały plik konfiguracyjny nginx? Byłoby to bardzo pomocne. Dzięki! –