从 汤姆·廖的博客 作者:gang2005188[at]sina.com(小刚)
今天上午帮同学解决了一个在IIS下moodle不能连接文件的问题。解决办法如下:
IIS默认不能支持Rewrite功能,所以moodle的链接文件的地址如:http:/localhost/moodle/file.php/5/test.txt 这样的地址是访问不了的。而apache则可以自动转到http:/localhost/moodle/file.php?file=/5/test.txt形式的地址。要在IIS下访问的一个办法为:用管理员身份登入,然后查找slashargument设置为否,即可。系统就自动使用第二种方法来链接文件。
网上还有一种方法就是要写ISAPI,做伪静态,方法如下,不过我没试过。
1.到这里 http://www.isapirewrite.com/. 下载 ISAPI_Rewrite Lite version ,免费版本.
运行下载的软件.
2.打开软件安装所在的目录下的httpd.ini文件,一般默认目录为 C:\Program Files\Helicon\ISAPI_Rewrite\
3打开后httpd.ini 的内容如下:
[ISAPI_Rewrite]
# Defend your computer from some worm attacks
RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]
4.添加规则如下:
RewriteRule (.*?\.php)(\/.+) $1\?file=$2 [N,I]
RewriteRule ^([^\?]+?\.php)(\/.+)$ $1\?file=$2 [QSA]
5.重新启动IIS.
用第一种方法弄好了,如果不考虑性能方面应该是可以的了,使用伪静态可以支持缓存,减轻服务器负担,可以搜索优化。 |