Странно, у меня на nginx-е все нормально работает
Но для новых moodle (2.*) нужно в nginx.conf для обработки php иметь что-то типа
location ~ ^(.+\.php)(.+)$ {
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param SCRIPT_FILENAME "$webroot$fastcgi_script_name";
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_store off;
...
}
Первые 3 строки fastcgi_ обязательные
$webroot - путь к moodle