再次求助:ASP生成静态网站网页的路径问题
上次在ASPIC高手的帮助下,解决了一个程序生成网页的路径问题,这次发现另一个程序也存在这样的问题,按照上次的方法却不能够解决,程序如下:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="co.asp"-->
<%
yusername=Request.Cookies("adminname888")
'response.Write yname
'response.end()
if yusername="" then
response.redirect("index.asp")
end if
%>
<%'容错处理
On Error Resume Next
%>
<%
a=request.QueryString("id")
set rs=server.CreateObject("ADODB.recordset")
sql="SELECT * FROM xw where id="&a&" Order by uid desc "(红1)
.open sql,connstr,3,3
cc=rs.recordcount
%>
<%
aa3=rs("bt")
aa4=rs("txt")
aa5=rs("data")
wjm=rs("url")(红2)
>
<%
set rsxw=server.CreateObject("ADODB.recordset")
sqlxw="SELECT * FROM xw Order by dj desc"
rsxw.open sqlxw,connstr,3,3
xwhot=""
xwhot=xwhot&"<table width=210 border=0 cellspacing=0 cellpadding=0>"
dim n
n=1
do while not rsxw.eof and n<=12
xwhot=xwhot&"<tr valign=top>"
xwhot=xwhot&"<td width=210 height=28> ·<a href="&rsxw("id")&".html class=style3>"&left(rsxw("bt"),14)&"</a></td>"(红3
whot=xwhot&"</tr>"
rsxw.movenext
n=n+1
loop
xwhot=xwhot&"</table>"
%>
<%
set rsxw1=server.CreateObject("ADODB.recordset")
sqlxw1="SELECT * FROM xw Order by id desc"
rsxw1.open sqlxw1,connstr,3,3
xwhot1=""
xwhot1=xwhot1&"<table width=210 border=0 cellspacing=0 cellpadding=0>"
dim n1
n1=1
do while not rsxw1.eof and n1<=12
xwhot1=xwhot1&"<tr valign=top>"
xwhot1=xwhot1&"<td width=210 height=28> ·<a href="&rsxw1("id")&".html class=style3>"&left(rsxw1("bt"),14)&"</a></td>"(红4
whot1=xwhot1&"</tr>"
rsxw1.movenext
n1=n1+1
loop
xwhot1=xwhot1&"</table>"
%>
<%
'打开模板代码,并将其中特殊代码转变为接受值
set rs1=server.CreateObject("ADODB.recordset")
sql1="SELECT * FROM mb where id=1"
rs1.open sql1,connstr,1,1
'sql1="select m_id,m_html from c_moban where m_id=2"
'set rs1=Server.CreateObject("adodb.recordset")
'rs1.open sql1,conn,1,1
mb_code=rs1("mb")
mb_code=replace(mb_code,"$$bt$$",aa3)
mb_code=replace(mb_code,"$$txt$$",aa4)
mb_code=replace(mb_code,"$$data$$",aa5)
mb_code=replace(mb_code,"$$id$$",a)
mb_code=replace(mb_code,"$$xwhot$$",xwhot)
mb_code=replace(mb_code,"$$xwhot1$$",xwhot1)
'生成HTML页面
Dim fso,f
Dim strTitle,strContent,strOut
'创建文件系统对象
Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set f=fso.CreateTextFile(Server.MapPath("../"&wjm),true)(红5)
入网页内容
f.WriteLine mb_code
f.close
aa="正在生成第"&n&"个文件——"&rs("id")&"—"&rs("url")&"<br>"
response.Write aa
'response.end()
%>
<html>
<head>
<title>k</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="../style/basic.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
body,td,th {
font-size: 12px;
}
.style2 {color: #000000}
.style3 {
font-size: 18px;
font-weight: bold;
}
.style4 {
color: #FFFFFF;
font-weight: bold;
}
-->
</style></head>
<body>
<div align="center">
<br>
<br>
<br>
<br>
</div>
</body>
</html>
介绍一下程序的大致情况,这个程序是生成一个静态新闻页,左侧是点击排行和最近更新,右侧是新闻内容.数据库中的URL是网页的准确地址,格式如下newsfile/2009-10-11/48.html,日期是网页生成的时间,现在的问题是网页自身生成的路径对,但左侧排行和最近更新部分的网页路径错误,路径和这个网页的路径是一样的,本人尝试了几次修改.
把红3和红4的<a href="&rsxw1("id")&".html class=style3>"&left(rsxw1("bt"),14)&"</a></td>"改成·<a href="&rsxw1("url")&" class=style3>"&left(rsxw1("bt"),14)&"</a></td>"
这时候,网页生成的路径对,但左侧的链接路径变为newsfile/2009-10-11/newsfile/2009-10-10(注:链接网页的准确路径)/48.html
如果把红1删掉,左侧链接网页的路径是正确的,但生成网页则在根目录下
另外红2和红5对路径也有可能有影响
期待高人解惑.
[ 本帖最后由 jobds 于 2009-10-23 09:10 编辑 ]