APP NEWS

ASP彻底实现伪静态化html

这段时间在网上待的时间较多!为了查找关于实现ASP动态内容的静态化处理花了我的多少时间,到处看了下,大多数是转载而来,几乎雷同,主要有以下几种方法: 1>用程序写到硬盘.ASPFS对象的文件流处理.每个文章都有实际的路径.如果要发布大量内容,则需

2015-06-28 00:000 次阅读
ASP彻底实现伪静态化html

  这段时间在网上待的时间较多!为了查找关于实现ASP动态内容的静态化处理花了我的多少时间,到处看了下,大多数是转载而来,几乎雷同,主要有以下几种方法:
 
  1 > 用程序写到硬盘.ASP FS对象的文件流处理.每个文章都有实际的路径.如果要发布大量内容,则需要大容量空间,而且不好维护,修改都不方便,好处在于减轻服务器的访问负担,容易被搜索引擎收录,大大减少并防止黑客攻击,稍有规模的网站都全部静态化了,如新浪,搜狐等.
 
  2 > 组件如ISAPI_Rewrite重写.有自己服务器的站长还好办,虚拟主机的朋友就稍麻烦,除非请求服务商安装这个插件,再将程序参数提交服务器实现转化,看上去是静态化了,实际上是用静态路径访问数据库的内容.对于搜索引擎收入有一定作用.而且许多站长正是为此为苦苦寻找.
 
  以上两种方法俱体怎么做,大家上网搜索一下就会发现一大把....
 
  3 >第三种比较假就是把show.asp?id=26 转成show.asp?/26.html这样做也许对搜索引擎来说有点作用,不过防安全注入一点作用也没有.但只要做好防范工作,这种方法还是比较适合大多数虚拟主机的站长们.我这里就重点介绍使用第三种方法来实现静态化处理.
 
  本实例实现效果:http://www.itmop.com/news.asp?id=201转换成
 
  http://www.itmop.com/news/?/201.html
 
  (转载请注明博客blog.027safe.com)
  --------------
 
  一 准备工作
 
  在网站目录新建文件夹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
 


    <%
    Set rs=server.CreateObject(&adodb.recordset&)
    sql=&select * from Article&
    rs.open sql,conn,1,1
    do while not rs.eof
    %>
  1. .html&><%=left(trim(rs(&title&)),30)%>
  2. _fcksavedurl=&&news/?/<%=rs(&id&)%>.html&><%=left(trim(rs(&title&)),30)%>&
    <%
    rs.movenext
    loop
    rs.close
    set rs=Nothing
    %>

 

好了,现在编写新闻正文阅读页面news/index.asp
index.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()
%>


<%= News_title%>
'主题
 <%=News_content%> '正文

 

  这样实现的效果如:http://www.itmop.com/news/?/201.html 我们知道Windows文件夹命名规则
 
  是不允许包含?的所以在这里只起视觉欺骗的作用.
 
  同样我们能否将?通过replace函数转换成这种效果:http://www.itmop.com/news/read/201.html 呢?
 
  这是我目前总结出来的,准备用在我的主页上,演示地址:http://www.itmop.com(未完),当然,我相信会有更好的解决方法,如果有兴趣的朋友请来本站交流.

关键词标签:静态,实现,彻底,%>

YOU MAY ALSO LIKE

更多应用推荐

浏览应用库