Nginx添加rewrite规则解决Moodle 404 Not Found(含Moodle2.0)(实践下来并未成功,只是个提示)

本文详细介绍了如何为Moodle配置Nginx服务器以优化文件上传及访问流程,包括不同版本的Moodle所需的特定规则调整,适用于将Moodle部署在根目录或子目录的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文地址: http://blog.sina.com.cn/s/blog_537977e50100aasu.html
--------------------------- 2010年12月13日---------------------------------------
Moodle2.0 规则
rewrite ”^/pluginfile.php/(.*)$" /pluginfile.php?file=/$1 last;
rewrite "^/draftfile.php/(.*)$" /draftfile.php?file=/$1 last;

--------------------------- 2010年11月14日---------------------------------------
Moodle2.0 RC2规则
rewrite ”^ /pluginfile.php/(.*)$" /plugin file.php?file=/$1 last;


----------------------2010.05.17-------------------------
Nginx for windows 添加办法
rewrite ^/moodle/file.php/(.*)$ /moodle/file.php?file=/$1 last;


--------------------------- 2010年1月29日补充---------------------------------------
困扰良久的rewrite规则,终于搞定了。。。郁闷来
上面的规则是Moodle默认安装在根目录,如果安装在子目录,那要添加子目录在rewrite中:
rewrite ^/moodle/file.php/(.*)$ /file.php?file=/$1 last;


-------------------------2008..08.06.----------------------

解决魔灯上传文件不能找到的办法:
在nginx.conf的server{}主机中添加:
rewrite ^/file.php/(.*)$ /file.php?file=/$1 last;
用户上传头像要显示加这段:
rewrite ^/user/pix.php(.*)$ /user/pix.php?file=/$1 last;

网上有说,如果这样不行的话,可以加上两个引号,写成这样:
rewrite "^/file.php/(.*)$" /file.php?file=/$1 last;
rewrite "^/user/pix.php(.*)$" /user/pix.php?file=/$1 last;
或者去掉后面的/,写成这样:
rewrite ^/file.php/(.*)$ /file.php?file=$1 last;
rewrite ^/user/pix.php(.*)$ /user/pix.php?file=$1 last;


注意位置:建议放在主机信息下面,可尝试多个位置。


server
{
listen 80;
server_name emoodle.vicp.net;
index index.html index.htm index.php;
root /data0/htdocs/moodle;
       rewrite ^/file.php/(.*)$ /file.php?file=/$1 last;
       rewrite ^/user/pix.php(.*)$ /user/pix.php?file=/$1 last;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值