Я пытаюсь установить Moodle 2.3 (не 2.5) ver с последней версией nginx. Раньше были некоторые советы на этом сайте. Один из них: Moodle 2.0 with Nginx backend.Moodle 2.3 с Nginx vs slash аргумент rewrite
По-видимому, как известно, Moodle использует правила path_info, чтобы опубликовать URL-адрес следующим образом: http://example.com/moodle/pluginfile.php/26/mod_scorm/content/1/index.html. Чтобы избежать всего этого кошмара, Moodle предлагает отключить «Слэш-аргументы» в пользовательском интерфейсе. Это здорово. Но не для SCORM-плеера, который форсирует «Slash argument», несмотря на предыдущий вариант. Таким образом, с отключенными «аргументами слэш» все работает и работает нормально. Но моя единственная цель - использовать SCORM-плеер.
Я пытался использовать правила перезаписи из приведенной выше ссылке:
rewrite ^(.*\.php)(/)(.*)$ $1?file=/$3 last;
который не работает в 2,3-2,5 версии. Я предполагаю, что он работал в 1.9. Теперь Moodle использует другой путь:
http://example.com/moodle/pluginfile.php/26/mod_scorm/content/1/index.html
Некоторые из правил 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;
}
Пожалуйста, посоветуйте, как решить эту проблему.
Вы должны поставить решение в ответ на свой вопрос и принять его. –
Кроме того, не могли бы вы разместить весь файл конфигурации nginx? Это было бы очень полезно. Благодаря! –