最近搞了个免费电影站.准备实现伪静态.因为服务器不是自己的没法子利用组件.以下内容只要为使用虚拟主机的朋友写的,自己有服务器的还是直接用组件吧
网上找了许多可惜都是CTRL+C ctrl+v. 看的还不太明白.
这次我来详细讲下
比如http://www.xuniwangluo.com/dy/play?action=cc&id=4003要转换为
http://www.xuniwangluo.com/dy/play/?cc-4003.html这种形式的伪静态
那么在play.asp 所在目录下建立个play的目录
再把play.asp复制一份到play目录下改名为index.asp “利用的windows不允许含?目录的漏洞
再把下面的代码插入 index.asp代码的头部
dim idc,id1,id2,id,action
idc=Request.ServerVariables("QUERY_STRING")
id1=replace(idc,".html","")
id2=split(id1,"-")
action=id2(0)
id=id2(1)
原理:
dim idc,id1,id2,id,action ‘申明变量(你自己可以把id action 两个参数改为你需要的参数)
idc=Request.ServerVariables("QUERY_STRING")’ (截取 ? 后面的地址. 如http://www.xuniwangluo.com/dy/play/?cc-4003.html
那么idc就等于 cc-4003.html
id1=replace(idc,".html","")‘(id1的意思是分割 idc和.html 那么id1就等于cc-4003
id2=split(id1,"-")’(id2就是以 " - "为中心劈开id1 那id2就等于cc 4003两部分
action=id2(0) ’ (action就等于 第一个“ -”前面的参数就是 cc
id=id2(1)‘(id等于第一个”-“后面的参数就是 4003 (如果你有第3个参数后面就可以写canshu3=id(2)
OK了。这样的话action id两个参数就可以直接从浏览器地址读取到然后传递给index.asp 让index.asp从数据库中读取数据并显示内容
”-“可以自己修改成其他的参数.比如 ~
那么你访问的地址就应该是http://www.xuniwangluo.com/play/?cc~4003.html
也可自行修改.html为其他后缀比如:.htm .php .shtml等等
这里只提供asp伪静态的实现.至于如果把所有动态连接地址都修改成伪静态访问.就需要你自己修改网站的模版了..
希望本文对大家有用