分享

写回答

发帖

[介绍] 成功解决新云4.0子目录生成问题

GoDaddy GoDaddy 10134 人阅读 | 5 人回复

发表于 2010-6-7 10:45:06 | 显示全部楼层 |阅读模式

在本地测试一切正常,上传之后发现只有首页和网站地图可以生成。经研究后发现是因为安装在子目录,生成路径要再加上子目录地址。

所以找到源码,改了两处,在cls_main.asp文件:

1、文件夹检测函数
找到1361行:
  1. If InStr(sPath, ":") = 0 Then sPath = Server.MapPath(sPath)
复制代码
在此行之前插入:
  1.                 If InStr(LCase(Request.ServerVariables("Server_name")),".com")>0 Then '.com可以改成你的域名
  2.                                 If InStr(sPath,"soft")>0 Then sPath=Replace(sPath,"soft","xxxx\soft") 'xxxx为你的子目录
  3.                                 If InStr(Spath,"article")>0 Then sPath=Replace(sPath,"article","xxxx\article") 'xxxx为你的子目录

  4.                                 response.write "Spath --- " & Spath & "
  5. "
  6.                 End if
复制代码
2、文件生成函数

在1477行:
  1. Dim f,sName
复制代码
之前插入:
  1.                 If InStr(LCase(Request.ServerVariables("Server_name")),".com")>0 Then '有域名
  2.                                 If InStr(FileName,"soft")>0 Then FileName=Replace(FileName,"soft","xxxx/soft")
  3.                                 If InStr(FileName,"article")>0 Then FileName=Replace(FileName,"article","xxxx/article")

  4.                                 response.write "FileName --- " & FileName & "
  5. "
  6.                 End if
复制代码
另:生成方式最好选择stream,而不要选择fso。

把xxxx换成你的子目录,这里只增加了文章和软件的路径。动画的自己加一下。其他目录原理都一样的。

If InStr(LCase(Request.ServerVariables("Server_name")),".com")>0 Then 是为了在本地能生成正常的路径。

注意:这个代码我自己可用,不代表在任何环境下也没问题,暂时也没发现改了这个代码有什么后遗症,自己决定是否修改,本人对此代码造成的后果不负任何责任。 : )

[ 本帖最后由 linhou 于 2010-6-7 11:03 AM 编辑 ]

评分

参与人数 1金币 +3 收起 理由
add.c + 3 精品文章

查看全部评分

回答|共 5 个

add.c

发表于 2010-6-7 10:46:24 | 显示全部楼层

能否具体分享下修改的哪个页面的代码

linhou

发表于 2010-6-7 11:05:03 | 显示全部楼层

原帖由 add.c 于 2010-6-7 10:46 AM 发表
能否具体分享下修改的哪个页面的代码


,马上!

neccn

发表于 2010-6-11 06:49:35 | 显示全部楼层

其实我一直都没分清楚几种主机的不同。。

27240

发表于 2010-12-7 19:34:15 | 显示全部楼层

还有能说一下新云4.0怎么安装在子目录吗?

910club

发表于 2010-12-29 09:36:48 | 显示全部楼层

回复 1# 的帖子

照楼主这个方法做报505错误啊,怎么办呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则