一般的网站伪静态化的方式是通过在服务器上安装 isapi rewrite 或者 mod rewrite 对dll文件进行重写达到伪静态,可是又有多少网站有自己的服务器呢?大多数站长应该和我一样只是使用虚拟主机,服务商却不肯装isapi rewrite 服务,为此而发愁,不过现在我想说的以后大家不必为此而愁了,通过下面我介绍的方式照样可以实现伪静态,或者说这个方法准确的叫类伪静态比,比如说一个地址
http://www.xxx.xxx/index.asp?aa=11&bb=22&cc=33 改成 伪静态地址 通过rewrite通常是 http://www.xxx.xxx/index/aa/11/bb/22/cc/33.htm 而现在我的办法把链接地址改成如下的 类 伪静态地址
http://www.xxx.xxx/index.asp?/{aa-11}{bb-22}{cc-33}.htm
第一种不用组件实现静态化办法:
1.单参数
功能:
把:[url]www.123.com/index.asp?id=123[/url]
伪静态为:[url]www.123.com/index.asp?/123.html[/url]
代码:
-------------------------------
<%
id=request.QueryString("id")
If id="" Then
serversc=Request.ServerVariables("QUERY_STRING")
id=replace(serversc,"/","")
id=replace(id,".html","")
End If
%>
-------------------------------
2.多参数
功能:
把:[url]www.123.com/index.asp?id=123&page=1&order=2[/url]
伪静态为:[url]www.123.com/index.asp?/123-1-2.html[/url]
代码:
-------------------------------
<%
If id="" and page="" and order="" Then
serversc=Request.ServerVariables("QUERY_STRING")
id=replace(serversc,"/","")
id=replace(id,".html","")
arr=split(id,"-")
id=arr(0)
page=arr(1)
order(2)
End If
%>
-------------------------------
使用方法: 把代码加到需要传递参数的asp页的 类似于
"id=request.QueryString("id") " 代码后面就可以了
请把 id, page, order 修改你所需要的参数即可。
第二种不用组件实现静态化:
<%
’*-=============================================-*
’* [=ASP URL伪静态链接=] *
’* 不使用Url ReWrite 或 Mod ReWrite *
’*-=============================================-*
Function fRequest(letKeyWord)
Dim regEx, Match, Matches
Dim sUrlRewrite,bitRegVal,sRegVal
sUrlRewrite =Request.ServerVariables("QUERY_STRING")
Set regEx = New RegExp
regEx.Pattern
"{"&letKeyWord&"-.*?}"
regEx.IgnoreCase = True
regEx.Global = True
bitRegVal =regEx.Test(sUrlRewrite)
If bitRegVal Then
Set Matches = regEx.Execute(sUrlRewrite)
For Each Match in Matches
sRegVal = sRegVal & Match.Value
Next
sRegVal =Replace(sRegVal,"{"&letKeyWord&"-","")
sRegVal =Replace(sRegVal,"}","")
If Len(sRegVal)<1 Then sRegVal =false
Else
sRegVal =false
End If
fRequest = sRegVal
End Function
%>
测试链接
而我们获取参数