ISite地图生成错误修复

akiooo 2016-04-10 AM 3244℃ 0条

Bug描述:生成地图链接有误,且关闭模版调试模式时,无法生成网站地图。

此bug修复方法如下:

打开文件 admin/SiteMap.asp

分别将99行、214行、238行、259行代码

1
cURL=Server.HTMLEncode(Replace(Fk_Site_Url&cURL,"//","/"))

替换为以下代码

1
cURL=Server.HTMLEncode(Replace(Replace(Fk_Site_Url&CURL,"//","/"),"http:/","http://"))

保存文件,这4处替换是解决生成的链接有误(http:/替换为http://)。

接着,我们来解决关闭模版调试模式时,无法生成网站地图的问题。

将第64行代码

1
????Dim?c_Rs,cURL

替换为

1
????Dim?mRs,c_Rs,cURL

将第67行代码

1
????Set?c_Rs=Server.Createobject("Adodb.RecordSet")

替换为以下代码

1

2
????Set?mRs=Server.Createobject("Adodb.RecordSet")
????Set?c_Rs=Server.Createobject("Adodb.RecordSet")

将第91行-230行代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140
????'生成栏目页
????Sqlstr="Select?Fk_Module_Id,Fk_Module_Type,Fk_Module_Model,Fk_Module_FixedUrl,Fk_Module_Url,Fk_Module_LinkType,Fk_Module_PageSize,Fk_Module_Menu,Fk_Module_GBookReply,Fk_Module_Template?From?[Fk_Module]?Where?Fk_Module_State=1?Order?By?Fk_Module_Id?Asc"
????Rs.Open?Sqlstr,Conn,1,1
????If?Not?Rs.Eof?Then
????????While?Not?Rs.Eof
????????????If?(Rs("Fk_Module_LinkType")=1?And?Rs("Fk_Module_Type")=4)?Or?Instr(",0,2,",","&Rs("Fk_Module_Type")&",")>0?Then
????????????????cURL=FKTemplate.GetUrl(FullSiteDir,"",Rs("Fk_Module_Url")&"Index","",PageSuffix,1,Rs("Fk_Module_Id"),Rs("Fk_Module_FixedUrl"))
????????????????'生成
????????????????cURL=Replace(cURL,"Index"&PageSuffix,"")
????????????????cURL=Server.HTMLEncode(Replace(Fk_Site_Url&cURL,"//","/"))
????????????????CreateHtml=CreateHtml&"<url>"&vbLf
????????????????CreateHtml=CreateHtml&"<loc>"&cURL&"</loc>"&vbLf
????????????????If?CreateType=1?Then
????????????????????CreateHtml=CreateHtml&"<lastmod>"&Date()&"</lastmod>"&vbLf
????????????????????CreateHtml=CreateHtml&"<changefreq>daily</changefreq>"&vbLf
????????????????????CreateHtml=CreateHtml&"<priority>0.7</priority>"&vbLf
????????????????End?If
????????????????CreateHtml=CreateHtml&"</url>"&vbLf
????????????ElseIf?Instr(",1,3,",","&Rs("Fk_Module_Type")&",")>0?Then
????????????????'读取每页数量
????????????????PageSizes=Fk_Site_PageSize
????????????????If?Rs("Fk_Module_PageSize")>0?Then
????????????????????PageSizes=Rs("Fk_Module_PageSize")
????????????????End?If
????????????????
????????????????'读取模型绑定模板
????????????????If?Rs("Fk_Module_Type")=1?Then
????????????????????Sqlstr="Select?Fk_Model_Template?From?[Fk_Model]?Where?Fk_Model_Id="&Rs("Fk_Module_Model")&""
????????????????????c_Rs.Open?Sqlstr,Conn,1,1
????????????????????If?Not?c_Rs.Eof?Then
????????????????????????mModelTemplate=c_Rs("Fk_Model_Template")
????????????????????Else
????????????????????????mModelTemplate=""
????????????????????End?If
????????????????????c_Rs.Close
????????????????Else
????????????????????mModelTemplate=""
????????????????End?If
????????????????If?Rs("Fk_Module_Type")=1?Then
????????????????????PageTemplate="viewlist"
????????????????ElseIf?Rs("Fk_Module_Type")=3?Then
????????????????????PageTemplate="gbook"
????????????????End?If
????????????????
????????????????If?Rs("Fk_Module_Template")<>""?Then
????????????????????PageTemplate=Rs("Fk_Module_Template")
????????????????ElseIf?mModelTemplate<>""?Then
????????????????????PageTemplate=mModelTemplate
????????????????End?If
????????????????????????????????
????????????????'菜单信息读取
????????????????Sqlstr="Select?Fk_Menu_Dir,Fk_Menu_Template?From?[Fk_Menu]?Where?Fk_Menu_Id="?&?Rs("Fk_Module_Menu")
????????????????c_Rs.Open?Sqlstr,Conn,1,1
????????????????If?Not?c_Rs.Eof?Then
????????????????????MenuDir=c_Rs("Fk_Menu_Dir")
????????????????????MenuTemplate=c_Rs("Fk_Menu_Template")
????????????????Else
????????????????????c_Rs.Close
????????????????????Call?FKFun.ShowErr("error:菜单不存在!",0)
????????????????End?If
????????????????c_Rs.Close
????????????????
????????????????'目录模板方案_默认模板组合
????????????????If?MenuTemplate<>""?Then
????????????????????If?Instr(DisTemplate,","&PageTemplate&",")>0?Then
????????????????????????PageTemplate=MenuTemplate&"/"&PageTemplate
????????????????????End?If
????????????????End?If
????????????????
????????????????'模板标签解析
????????????????PageCode=FKTemplate.GetTemplate(PageTemplate)
????????????????
????????????????PageCounts=1
????????????????'读取页数
????????????????If?Instr(PageCode,"{$ModulePageCode(")>0?Then
????????????????????'内容模块
????????????????????If?Rs("Fk_Module_Type")=1?Then
????????????????????????Sqlstr="Select?Fk_View_Id?From?[Fk_View]?Where?Fk_View_Show=1?And?Fk_View_Module="&Rs("Fk_Module_Id")&""
????????????????????????c_Rs.Open?Sqlstr,Conn,1,1
????????????????????????c_Rs.PageSize=PageSizes
????????????????????????If?c_Rs.PageCount>0?Then
????????????????????????????PageCounts=c_Rs.PageCount
????????????????????????End?If
????????????????????????c_Rs.Close
????????????????????'留言模块
????????????????????ElseIf?Rs("Fk_Module_Type")=3?And?Rs("Fk_Module_GBookReply")<>3?Then
????????????????????????Sqlstr="Select?Fk_GBook_Id?From?[Fk_GBook]?Where?Fk_GBook_Module="&Rs("Fk_Module_Id")&""
????????????????????????If?Rs("Fk_Module_GBookReply")=1?Then
????????????????????????????Sqlstr=Sqlstr&"?And?Fk_GBook_ReIp<>''"
????????????????????????ElseIf?Rs("Fk_Module_GBookReply")=2?Then
????????????????????????????Sqlstr=Sqlstr&"?And?(Fk_GBook_ReIp=''?Or?Fk_GBook_ReIp?Is?Null)"
????????????????????????End?If
????????????????????????c_Rs.Open?Sqlstr,Conn,1,1
????????????????????????c_Rs.PageSize=PageSizes
????????????????????????If?c_Rs.PageCount>0?Then
????????????????????????????PageCounts=c_Rs.PageCount
????????????????????????End?If
????????????????????????c_Rs.Close
????????????????????Else
????????????????????????PageCounts=1
????????????????????End?If
????????????????????'循环生成
????????????????????For?PageNow=1?To?PageCounts
????????????????????????'链接地址获取
????????????????????????If?Rs("Fk_Module_FixedUrl")<>""?Then?'绝对链接
????????????????????????????If?Instr(Rs("Fk_Module_FixedUrl"),".")>0?Then?'绝对链接带后缀
????????????????????????????????cURL=FKTemplate.GetUrl(FullSiteDir,"","","",PageSuffix,1,Rs("Fk_Module_Id"),Rs("Fk_Module_FixedUrl"))
????????????????????????????Else?'绝对链接不带后缀
????????????????????????????????If?PageNow=1?Then
????????????????????????????????????cURL=FKTemplate.GetUrl(FullSiteDir,"","","",PageSuffix,1,Rs("Fk_Module_Id"),Rs("Fk_Module_FixedUrl")&"Index")
????????????????????????????????Else
????????????????????????????????????cURL=FKTemplate.GetUrl(FullSiteDir,"","","",PageSuffix,1,Rs("Fk_Module_Id"),Rs("Fk_Module_FixedUrl")&"Index_"&PageNow)
????????????????????????????????End?If
????????????????????????????End?If
????????????????????????Else?'非绝对链接
????????????????????????????If?PageNow=1?Then
????????????????????????????????cURL=FKTemplate.GetUrl(FullSiteDir,"",Rs("Fk_Module_Url")&"Index","",PageSuffix,1,Rs("Fk_Module_Id"),"")
????????????????????????????Else
????????????????????????????????cURL=FKTemplate.GetUrl(FullSiteDir,"",Rs("Fk_Module_Url")&"Index_"&PageNow,"",PageSuffix,1,Rs("Fk_Module_Id"),"")
????????????????????????????End?If
????????????????????????End?If
????????????????????????'生成
????????????????????????cURL=Replace(cURL,"Index"&PageSuffix,"")
????????????????????????cURL=Server.HTMLEncode(Replace(Fk_Site_Url&cURL,"//","/"))
????????????????????????CreateHtml=CreateHtml&"<url>"&vbLf
????????????????????????CreateHtml=CreateHtml&"<loc>"&cURL&"</loc>"&vbLf
????????????????????????If?CreateType=1?Then
????????????????????????????CreateHtml=CreateHtml&"<lastmod>"&Date()&"</lastmod>"&vbLf
????????????????????????????CreateHtml=CreateHtml&"<changefreq>daily</changefreq>"&vbLf
????????????????????????????CreateHtml=CreateHtml&"<priority>0.7</priority>"&vbLf
????????????????????????End?If
????????????????????????CreateHtml=CreateHtml&"</url>"&vbLf
????????????????????Next
????????????????End?If
????????????End?If
????????????Rs.MoveNext
????????Wend
????End?If
????Rs.Close

替换为以下代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140
????'生成栏目页
????Sqlstr="Select?Fk_Module_Id,Fk_Module_Type,Fk_Module_Model,Fk_Module_FixedUrl,Fk_Module_Url,Fk_Module_LinkType,Fk_Module_PageSize,Fk_Module_Menu,Fk_Module_GBookReply,Fk_Module_Template?From?[Fk_Module]?Where?Fk_Module_State=1?Order?By?Fk_Module_Id?Asc"
????mRs.Open?Sqlstr,Conn,1,1
????If?Not?mRs.Eof?Then
????????While?Not?mRs.Eof
????????????If?(mRs("Fk_Module_LinkType")=1?And?mRs("Fk_Module_Type")=4)?Or?Instr(",0,2,",","&mRs("Fk_Module_Type")&",")>0?Then
????????????????cURL=FKTemplate.GetUrl(FullSiteDir,"",mRs("Fk_Module_Url")&"Index","",PageSuffix,1,mRs("Fk_Module_Id"),mRs("Fk_Module_FixedUrl"))
????????????????'生成
????????????????cURL=Replace(cURL,"Index"&PageSuffix,"")
????????????????cURL=Server.HTMLEncode(Replace(Replace(Fk_Site_Url&CURL,"//","/"),"http:/","http://"))
????????????????CreateHtml=CreateHtml&"<url>"&vbLf
????????????????CreateHtml=CreateHtml&"<loc>"&cURL&"</loc>"&vbLf
????????????????If?CreateType=1?Then
????????????????????CreateHtml=CreateHtml&"<lastmod>"&Date()&"</lastmod>"&vbLf
????????????????????CreateHtml=CreateHtml&"<changefreq>daily</changefreq>"&vbLf
????????????????????CreateHtml=CreateHtml&"<priority>0.7</priority>"&vbLf
????????????????End?If
????????????????CreateHtml=CreateHtml&"</url>"&vbLf
????????????ElseIf?Instr(",1,3,",","&mRs("Fk_Module_Type")&",")>0?Then
????????????????'读取每页数量
????????????????PageSizes=Fk_Site_PageSize
????????????????If?mRs("Fk_Module_PageSize")>0?Then
????????????????????PageSizes=mRs("Fk_Module_PageSize")
????????????????End?If
????????????????
????????????????'读取模型绑定模板
????????????????If?mRs("Fk_Module_Type")=1?Then
????????????????????Sqlstr="Select?Fk_Model_Template?From?[Fk_Model]?Where?Fk_Model_Id="&?mRs("Fk_Module_Model")&""
????????????????????c_Rs.Open?Sqlstr,Conn,1,1
????????????????????If?Not?c_Rs.Eof?Then
????????????????????????mModelTemplate=c_Rs("Fk_Model_Template")
????????????????????Else
????????????????????????mModelTemplate=""
????????????????????End?If
????????????????????c_Rs.Close
????????????????Else
????????????????????mModelTemplate=""
????????????????End?If
????????????????If?mRs("Fk_Module_Type")=1?Then
????????????????????PageTemplate="viewlist"
????????????????ElseIf?mRs("Fk_Module_Type")=3?Then
????????????????????PageTemplate="gbook"
????????????????End?If
????????????????
????????????????If?mRs("Fk_Module_Template")<>""?Then
????????????????????PageTemplate=mRs("Fk_Module_Template")
????????????????ElseIf?mModelTemplate<>""?Then
????????????????????PageTemplate=mModelTemplate
????????????????End?If
????????????????????????????????
????????????????'菜单信息读取
????????????????Sqlstr="Select?Fk_Menu_Dir,Fk_Menu_Template?From?[Fk_Menu]?Where?Fk_Menu_Id="?&?mRs("Fk_Module_Menu")
????????????????c_Rs.Open?Sqlstr,Conn,1,1
????????????????If?Not?c_Rs.Eof?Then
????????????????????MenuDir=c_Rs("Fk_Menu_Dir")
????????????????????MenuTemplate=c_Rs("Fk_Menu_Template")
????????????????Else
????????????????????c_Rs.Close
????????????????????Call?FKFun.ShowErr("error:菜单不存在!",0)
????????????????End?If
????????????????c_Rs.Close
????????????????
????????????????'目录模板方案_默认模板组合
????????????????If?MenuTemplate<>""?Then
????????????????????If?Instr(DisTemplate,","&PageTemplate&",")>0?Then
????????????????????????PageTemplate=MenuTemplate&"/"&PageTemplate
????????????????????End?If
????????????????End?If
????????????????
????????????????'模板标签解析
????????????????PageCode=FKTemplate.GetTemplate(PageTemplate)
????????????????
????????????????PageCounts=1
????????????????'读取页数
????????????????If?Instr(PageCode,"{$ModulePageCode(")>0?Then
????????????????????'内容模块
????????????????????If?mRs("Fk_Module_Type")=1?Then
????????????????????????Sqlstr="Select?Fk_View_Id?From?[Fk_View]?Where?Fk_View_Show=1?And?Fk_View_Module="&mRs("Fk_Module_Id")&""
????????????????????????c_Rs.Open?Sqlstr,Conn,1,1
????????????????????????c_Rs.PageSize=PageSizes
????????????????????????If?c_Rs.PageCount>0?Then
????????????????????????????PageCounts=c_Rs.PageCount
????????????????????????End?If
????????????????????????c_Rs.Close
????????????????????'留言模块
????????????????????ElseIf?mRs("Fk_Module_Type")=3?And?mRs("Fk_Module_GBookReply")<>3?Then
????????????????????????Sqlstr="Select?Fk_GBook_Id?From?[Fk_GBook]?Where?Fk_GBook_Module="&mRs("Fk_Module_Id")&""
????????????????????????If?mRs("Fk_Module_GBookReply")=1?Then
????????????????????????????Sqlstr=Sqlstr&"?And?Fk_GBook_ReIp<>''"
????????????????????????ElseIf?mRs("Fk_Module_GBookReply")=2?Then
????????????????????????????Sqlstr=Sqlstr&"?And?(Fk_GBook_ReIp=''?Or?Fk_GBook_ReIp?Is?Null)"
????????????????????????End?If
????????????????????????c_Rs.Open?Sqlstr,Conn,1,1
????????????????????????c_Rs.PageSize=PageSizes
????????????????????????If?c_Rs.PageCount>0?Then
????????????????????????????PageCounts=c_Rs.PageCount
????????????????????????End?If
????????????????????????c_Rs.Close
????????????????????Else
????????????????????????PageCounts=1
????????????????????End?If
????????????????????'循环生成
????????????????????For?PageNow=1?To?PageCounts
????????????????????????'链接地址获取
????????????????????????If?mRs("Fk_Module_FixedUrl")<>""?Then?'绝对链接
????????????????????????????If?Instr(mRs("Fk_Module_FixedUrl"),".")>0?Then?'绝对链接带后缀
????????????????????????????????cURL=FKTemplate.GetUrl(FullSiteDir,"","","",PageSuffix,1,mRs("Fk_Module_Id"),mRs("Fk_Module_FixedUrl"))
????????????????????????????Else?'绝对链接不带后缀
????????????????????????????????If?PageNow=1?Then
????????????????????????????????????cURL=FKTemplate.GetUrl(FullSiteDir,"","","",PageSuffix,1,mRs("Fk_Module_Id"),mRs("Fk_Module_FixedUrl")&"Index")
????????????????????????????????Else
????????????????????????????????????cURL=FKTemplate.GetUrl(FullSiteDir,"","","",PageSuffix,1,mRs("Fk_Module_Id"),mRs("Fk_Module_FixedUrl")&"Index_"&PageNow)
????????????????????????????????End?If
????????????????????????????End?If
????????????????????????Else?'非绝对链接
????????????????????????????If?PageNow=1?Then
????????????????????????????????cURL=FKTemplate.GetUrl(FullSiteDir,"",mRs("Fk_Module_Url")&"Index","",PageSuffix,1,mRs("Fk_Module_Id"),"")
????????????????????????????Else
????????????????????????????????cURL=FKTemplate.GetUrl(FullSiteDir,"",mRs("Fk_Module_Url")&"Index_"&PageNow,"",PageSuffix,1,mRs("Fk_Module_Id"),"")
????????????????????????????End?If
????????????????????????End?If
????????????????????????'生成
????????????????????????cURL=Replace(cURL,"Index"&PageSuffix,"")
????????????????????????cURL=Server.HTMLEncode(Replace(Replace(Fk_Site_Url&CURL,"//","/"),"http:/","http://"))
????????????????????????CreateHtml=CreateHtml&"<url>"&vbLf
????????????????????????CreateHtml=CreateHtml&"<loc>"&cURL&"</loc>"&vbLf
????????????????????????If?CreateType=1?Then
????????????????????????????CreateHtml=CreateHtml&"<lastmod>"&Date()&"</lastmod>"&vbLf
????????????????????????????CreateHtml=CreateHtml&"<changefreq>daily</changefreq>"&vbLf
????????????????????????????CreateHtml=CreateHtml&"<priority>0.7</priority>"&vbLf
????????????????????????End?If
????????????????????????CreateHtml=CreateHtml&"</url>"&vbLf
????????????????????Next
????????????????End?If
????????????End?If
????????????mRs.MoveNext
????????Wend
????End?If
????mRs.Close

保存文件,修复完成。

标签: 生成地图

非特殊说明,本博所有文章均为博主原创,

部分转载有可能忘记标注,如侵犯了您的权益,您可以留言我增加原文出处或删除文档。