七点空间

七点空间

 

解决discuz!nt中dnt.config配置文件只能放在网站根目录的问题

  下载discuz!nt 1.0的源码后,调试运行了一下,发现初次配置时总是跳出一些小错误。
  例如:“dnt.config配置文件只能放在网站根目录的问题”,二次开发完成后,安装配置论坛时,还要网管将dnt.config文件拷贝到网站根目录,添加了额外的麻烦。而且这样也导致了论坛源码的分散放置,dnt.config在网站根目录,其它的文件在论坛自身的目录,使得后期维护麻烦,重装系统时,一不留神就可能不记得还需要拷贝dnt.config。我就思考能不能把dnt.config就放在论坛本身的目录中,翻了一下代码,发现很容易就可能解决。
  在Source Code\Forum\Providers\BaseConfigProvider.cs文件中,将

filename = context.Server.MapPath("/DNT.config");

  修改为:
filename = context.Server.MapPath("~/DNT.config");

  就行了。


*****************
补充:
感谢瑞克 的指点,DISCUZ!NT 1.0中确实还存在多处取dnt.config文件路径的代码,可以在VS IDE 环境中搜索出来,MapPath("/DNT.config")和GetMapPath("~/DNT.config")代码,一共7处,将其中的"/DNT.config"统统改成"/DNT.config"就可以了。

posted on 2007-08-26 12:24  jacklew  阅读(5334)  评论(10编辑  收藏  举报

导航