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

原文地址: 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;

你可能感兴趣的:(nginx,windows,server,2010)