Tôi đang cố gắng thiết lập Moodle 2.3 (không 2.5) ver với nginx xây dựng mới nhất. Có một số lời khuyên trên trang web này trước đây. Một trong số họ: Moodle 2.0 with Nginx backend.Moodle 2.3 với Nginx vs đối số gạch chéo viết lại
Dường như ai cũng biết, Moodle đang sử dụng quy tắc path_info để đăng URL giống như sau: http://example.com/moodle/pluginfile.php/26/mod_scorm/content/1/index.html. Để thoát khỏi cơn ác mộng này, Moodle đang đề nghị vô hiệu hóa "Slash arguments" trong UI. Điều đó thật tuyệt. Nhưng không phải cho người chơi SCORM đang buộc "Slash đối số" mặc dù tùy chọn trước đó. Vì vậy, với vô hiệu hóa "Slash đối số" tất cả mọi thứ đang làm việc và bình thường. Nhưng mục tiêu duy nhất của tôi là sử dụng máy nghe nhạc SCORM.
tôi cố gắng sử dụng các quy tắc viết lại từ liên kết ở trên:
rewrite ^(.*\.php)(/)(.*)$ $1?file=/$3 last;
mà không hoạt động trong 2,3-2,5 ver. Tôi giả sử nó hoạt động trong 1,9. Bây giờ Moodle đang sử dụng con đường khác nhau:
http://example.com/moodle/pluginfile.php/26/mod_scorm/content/1/index.html
Một số quy tắc 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;
}
Xin cho biết làm thế nào để giải quyết việc này.
Bạn nên đặt các giải pháp như câu trả lời cho câu hỏi của riêng bạn và chấp nhận nó. –
Ngoài ra, bạn có thể vui lòng đăng toàn bộ tệp cấu hình nginx của mình không? Điều đó sẽ rất hữu ích. Cảm ơn! –