首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

在虚拟目录下施用KingCMS

2012-06-28 
在虚拟目录下使用KingCMS在page/system/fun.asp中找到如下代码public property get instdim scriptname,l1

在虚拟目录下使用KingCMS

在page/system/fun.asp中找到如下代码
public property get inst        dim scriptname,l1,I1,I2,I3        if r_inst="" then                I1=server.mappath("/")                I2=server.mappath("../../")                r_inst=replace(right(I2,len(I2)-len(I1)),"","/")&"/"        end if        inst=r_instend property

?替换为

public property get inst        dim scriptname,l1,I1,I2,I3,n        if r_inst="" then                 'I1=server.mappath("/") 'disabled by xWay                 scriptname = lcase(request.servervariables("script_name"))                I2=lcase(server.mappath("../../"))                'r_inst=replace(right(I2,len(I2)-len(I1)),"","/")&"/"  'disabled by xWay                 '----below added by xWay---------------------                 I3 = split(trim(I2),"")                 l1=ubound(I3)                 n= instr(scriptname, I3(l1))                 if n>0 then                       r_inst = left(scriptname, n +len(I3(l1)))                 else                       r_inst = "/"                 end if                 '---------------------------------------------        end if        inst=r_instend property

?同时在该文件第三行加上

<%Response.CodePage = 65001:Response.Charset = king_codepage%>

?如果想要完整使用虚拟目录还要对其中模块做相应修改

1。要完整使用虚拟路径,当然模版及模块的相应地方也要改。比如将模版或模块程序里的"/"路径用{king:inst/}或xking.inst代替,这里xking是类kingcms的实例(好像大都是king来着)。2。可以把此属性的代码移到一私有函数里,只需在启动的时候运行一次,给r_inst赋值,然后由类属性inst=r_inst得到所要的安装路径。这样应该有点点提高程序效率。3。其实虚拟路径应该用得极少。这句r_inst = "/"似乎没有机会运行。还有如果有重复的路径名,会得到错误的安装路径,如“/kingcms/kingcms/...”.有兴趣的可以再改一下。

?还有一种方法不过没试验过

在 config.asp 里 定义一下 子目录的路径'子目录const king_path = "/www/"然后在page/system/fun.asp                       r_inst = king_path这里判断一下就可以了我认为这是最简单的一种方式了,不知道 哪里有没考虑到的地方当然这里出来一个问题 那就是 其他页面的 "../../" 必须改成 king.inst 这样就可以了
?

热点排行