ASP实现伪静态另一好方法 - 技术文档 - 解决方案 - 重庆猫扑网络科技有限公司

河南彩票

  • ASP实现伪静态另一好方法

  • 当前位置:网站河南彩票  >  技术文档      新闻来源:本站    发布者:    发布时间:2013-03-04

静态页面是蜘蛛喜欢的,会得到蜘蛛经常光顾的,以至于网站上的内容会得到搜索引擎更多的收录

介绍一个asp伪静态的程序实现方法

链接地址采用如下规则

hxxp://www.kalayang.com/weblog/article.asp?/< %=rs("id")% >.html

文章页面读取时采用如下代码获得文章ID


server_v40=Request.ServerVariables("QUERY_STRING")

id=Int(replace(replace(server_v40,"/",""),".html",""))


另一好方法:利用404错误转向来实现

比如网站地址都为 hxxp://www.kalayang.com/weblog/article.asp?id=310

写程序时候写成 hxxp://www.kalayang.com/weblog/article/310.html
其实并不存在 hxxp://www.kalayang.com/weblog/article/310.html这个页面

用户要点击这个超连接的话,就会自动调用404错误页面

只要把404错误页面定义为asp页面就可以了。

其中加入获得 article.asp?id=310页面的id 310,然后利用程序 获取该页面的内容并显示

下面是 404错误页面 err.asp 文件的代码
<%

Dim webUrl,start,over,reurl,Url,Html

weburl=GetUrl()
start= instr(weburl, "/article/")
over =instr(weburl,".html")

if start<>0 and over<>0 then
reurl = mid(weburl,start+9,over-10)
reurl = replace(reurl,".html","")
else
reurl=""
end if

if reurl<>"" then
url="hxxp://www.kalayang.com/weblog/article.asp?id="&reurl
else
url="hxxp://www.kalayang.com/weblog/err.html"
end if

Html = getHTTPPage(Url)

'Response.write webUrl
'Response.write "
"
'Response.write url
'Response.write reurl
'Response.write "
"

Response.write Html

'常用函数

'1、输入url目标网页地址,返回值getHTTPPage是目标网页的html代码

function getHTTPPage(url)
dim Http
set Http=server.createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
exit function
end if
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
set http=nothing
if err.number<>0 then err.Clear
end function

'2、转换乱玛,直接用xmlhttp调用有中文字符的网页得到的将是乱玛,可以通过adodb.stream组件进行转换

Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function Dim ScriptAddress, M_ItemUrl, M_item

Function GetUrl()
ScriptAddress = CStr(Request.ServerVariables("SCRIPT_NAME")) '取得当前地址
M_ItemUrl = ""
If (Request.QueryString <> "") Then
ScriptAddress = ScriptAddress & "?"
For Each M_item In Request.QueryString
If InStr(page,M_Item)=0 Then
M_ItemUrl = M_ItemUrl & M_Item &"="& Server.URLEncode(Request.QueryString(""&M_Item&""))
End If
Next
end if
GetUrl = ScriptAddress & M_ItemUrl
End Function
%>


 

  • Copyright © 2015 重庆猫扑网络科技有限公司

    杏彩计划-主页 皇马彩票-主页 凤凰体彩-主页 一定牛彩票-主页 体彩屋-主页 诚信娱乐-主页 159彩票网-主页 聚恒彩票-主页