• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

ASP生成静态页面(伪静态)

asp 海叔叔 4年前 (2021-05-31) 94次浏览 已收录 0个评论

关键词
ASP生成静态页面

摘要

本文介绍ASP生成静态页面,即将带参数的动态页面生成静态的HTML文件。

动态页面的网站,如ASP编程中经常看到的post.asp?id=123,这种方式每次打开都可能会从数据库中读取信息,响应很慢,而且这种方式的页面不利于搜索引擎收录。所以我们要做静态化处理,将其变成post/123.html或post123.html这种样式。

关于伪静态

真正的静态化应该是服务器上存储的就是xxx.html这样的页面,当有客户端请求这个页面时,IIS直接找到这个html页面,发给客户端就搞定了,效率可以很高。但去做静态化的工作很烦,很复杂,于是就出现了伪静态。什么时伪静态呢,就是访问的地址确实是一个html的页面地址,但服务器上却没有这个html静态页面,它这个是通过一些插件让IIS做了一个跳转处理,当接收到post/数字.html时,不直接去找这个html静态页面,而去找post.asp?id=数字,这样就能顺利的返回结果了。

伪静态这里只是简单提一下,我们要做真正的静态。

一般有两种比较简单的方式来做静态化

1、模拟浏览器去打开post.asp?id=1的页面,把访问得到的html代码保存下来,命名为post/1.html

给一个函数,大家参考

‘抓取页面

Function GetHttpPage(httpUrl,charSet)
  If IsNull(httpUrl)=True Or Len(httpUrl)<18 Or httpUrl="$False$" Then
     GetHttpPage="$False$"
     Exit Function
  End If
  Dim Http
  Set Http=server.createobject("MSXML2.XMLHTTP")
  Http.open "GET",HttpUrl,False
  Http.Send()
  If Http.Readystate<>4 then
     Set Http=Nothing
     GetHttpPage="$False$"
     Exit function
  End if
  GetHTTPPage=bytesToBSTR(Http.responseBody,charSet)
  Set Http=Nothing
  If Err.number<>0 then
     Err.Clear
  End If
End Function

2、使用模板替换法

假如有如下一个模板

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
 <title>[%title%]</title>
  <body>
[%title%]
<br>
[%content%]<br>
[%time%]
</body>
</HTML>

然后你使用fso把这个模板文件读取到一个临时字符串变量中,然后循环数据库,拿数据库的字段,把字符串中的[%title%]这个的待替换关键词替换掉,然后把这个字符串再使用fso保存到一个新的文本文件中,这个新的文本文件就是你需要的静态页面,可以将其命令为“xx.html”。

关于静态化,还有一些高级的方法,难度较高,在此就不一一介绍。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:ASP生成静态页面(伪静态)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址