11

Moodle 2.3 (2.5 ではない) バージョンを nginx の最新ビルドでセットアップしようとしています。以前、こちらのサイトにアドバイスがありました。それらの 1 つ: Moodle 2.0 と Nginx バックエンド

どうやら誰もが知っているように、Moodle は path_info ルールを使用して次のような URL を投稿しています: http://example.com/moodle/pluginfile.php/26/mod_scorm/content/1/index.html。このすべての悪夢から逃れるために、Moodle は UI で「スラッシュ引数」を無効にすることを提案しています。これは素晴らしいことです。ただし、前のオプションにもかかわらず「スラッシュ引数」を強制している SCORM プレーヤーには当てはまりません。したがって、「スラッシュ引数」を無効にすると、すべてが正常に機能します。しかし、私の唯一の目標は、SCORM プレーヤーを使用することです。

上記のリンクから書き換えルールを使用しようとしました:

rewrite ^(.*\.php)(/)(.*)$ $1?file=/$3 last;

2.3-2.5 ver.では動作しません。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;
}

これを解決する方法を教えてください。

4

1 に答える 1