站长学院通行证

 

返回“站长学院”网站首页

 当前位置 → 中国站长学院网站运营搜索优化 → 浏览正文


TAG:  网站 ASP 静态 html

ASP彻底实现伪静态化html


作者:AFan     来源:http://www.faninfo.cn/blog/     点击数:     更新时间:2008年01月15日

【字体: 】             【背景色 杏仁黄 秋叶褐 胭脂红 芥末绿 天蓝 雪青 灰 银河白(默认色) 】    【收藏本文】   【打印


  这段时间在网上待的时间较多!为了查找关于实现ASP动态内容的静态化处理花了我的多少时间,到处看了下,大多数是转载而来,几乎雷同,主要有以下几种方法:

 

  1 > 用程序写到硬盘.ASP FS对象的文件流处理.每个文章都有实际的路径.如果要发布大量内容,则需要大容量空间,而且不好维护,修改都不方便,好处在于减轻服务器的访问负担,容易被搜索引擎收录,大大减少并防止黑客攻击,稍有规模的网站都全部静态化了,如新浪,搜狐等.

 

  2 > 组件如ISAPI_Rewrite重写.有自己服务器的站长还好办,虚拟主机的朋友就稍麻烦,除非请求服务商安装这个插件,再将程序参数提交服务器实现转化,看上去是静态化了,实际上是用静态路径访问数据库的内容.对于搜索引擎收入有一定作用.而且许多站长正是为此为苦苦寻找.

 

  以上两种方法俱体怎么做,大家上网搜索一下就会发现一大把....

 

  3 >第三种比较假就是把show.asp?id=26 转成show.asp?/26.html这样做也许对搜索引擎来说有点作用,不过防安全注入一点作用也没有.但只要做好防范工作,这种方法还是比较适合大多数虚拟主机的站长们.我这里就重点介绍使用第三种方法来实现静态化处理.

 

  本实例实现效果:http://faninfo.cn/news.asp?id=201转换成

 

  http://faninfo.cn/news/?/201.html

 

  (转载请注明起步者博客faninfo.cn/blog)

  --------------

 

  一 准备工作

 

  在网站目录新建文件夹news,并新建一个主页文件index.asp,数据库data.mdb(字段id,Title,Content,)及ConnDB.asp

 

  二 代码实现

 

  数据连接文件ConnDB.asp

 

<%
dim conn
dbpath="data.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(dbpath)
conn.open connstr
If Err Then
err.Clear
Set conn = Nothing
Response.Write "数据库连接出错,请稍候访问。"
Response.End
End If
'新闻阅读模块
Dim News_title,News_content
Sub ReadNews()
set rs1=server.createobject("adodb.recordset")
sql1="select id,title,content from article where id="& ID
rs1.open sql1,conn,3,3
News_title=rs1("title")
News_content=rs1("content")
rs1.close
set rs1=Nothing
End Sub
%>
 


news-list.asp

 
<!--#include file="ConnDB.asp"-->
<ol>
<%
Set rs=server.CreateObject("adodb.recordset")
sql="select * from Article"
rs.open sql,conn,1,1
do while not rs.eof
%>
<li><a href="news/?/<%=rs("id")%>.html"><%=left(trim(rs("title")),30)%></a></li> _fcksavedurl=""news/?/<%=rs("id")%>.html"><%=left(trim(rs("title")),30)%></a></li>"
<%
rs.movenext
loop
rs.close
set rs=Nothing
%>
</ol>

 


好了,现在编写新闻正文阅读页面news/index.asp

index.asp
<!--#include file="ConnDB.asp"-->

<%
id=request.QueryString("id")
If id="" Then
Pater=Request.ServerVariables("query_string")
id=Int(replace(replace(Pater,"/",""),".html",""))  'replace替换函数,如将html和/替成空的
End If
Call ReadNews()
%>
<div>
<b><%= News_title%></b><br /> '主题
 <%=News_content%> '正文
</div>

 


  这样实现的效果如:http://www.faninfo.cn/news/?/201.html 我们知道Windows文件夹命名规则

 

  是不允许包含?的所以在这里只起视觉欺骗的作用.

 

  同样我们能否将?通过replace函数转换成这种效果:http://www.faninfo.cn/news/read/201.html 呢?

 

  这是我目前总结出来的,准备用在我的主页上,演示地址:http://www.faninfo.cn(未完),当然,我相信会有更好的解决方法,如果有兴趣的朋友请来本站交流.

 

  (转载请注明起步者博客/blog http://faninfo.cn)


责任编辑:天堂宝宝

注册投稿

收藏本文到  >>>

相关文章

土豆丫头非常好用留言板 v1.305/31 
两个人的日记 v1.205/31 
lccyblog v2.005/31 
ASBLOG傲胜博客(个人版) v205/31 
行业多频道留言系统 v1.105/31 
商用多栏目留言反馈系统CommonM05/31 
童真岁月留言本 v2.0 05/31 
浪人留言簿 v1.005/31 
清松网络日记本 v1.7105/31 
ACTCMS网站管理系统 V2.006/01 
电影站坚持就是胜利 推广赚钱要时机!05/28 
"正在统计"免费网站流量统计系统05/22 
网站自发组织公益广告 投入地震灾区捐05/15 
站长关注:大量网站遭SQL注入式攻击05/01 
记住网站只是一个信息平台,让我们走到04/24 
论坛推广就这么几招(很黄很暴力)04/22 

推荐导读

热门资讯

资讯快报

论坛新贴

返回首页

关于我们 - 帮助(?) - 广告服务 - 诚征英才 - 友情链接 - 网站地图 - 站长BLOG

返回网站顶部

Copyright © 2007 中国站长学院(CNZZXY.COM). All Rights Reserved
站长学院服务资咨热线:0755-84289786    业务合作:(0)13554938953  (0)13423986856    网络宽带及主机提供:深圳傲网科技
粤ICP备08006968号   站长:忧郁的秋天(向管理员发邮件)   站长交流QQ群①:1815595   站长交流QQ群②:32960074