15053971836 注册 / 登录

asp伪静态页面

时间: 阅读:303
asp伪静态页面

最佳回答

失控的影子

失控的影子

2023-01-16 20:56:18

ASP页面变成伪静态 的方法。如showarticle.asp?id1=1&id2=2的路径可以转换为showarticle/?1-2.htm(当然可以转换为其他形式),具体方法如下: 准备工作:建立文件index.asp、文件夹showarticle、在文件夹showarticle中建立文件index.asp(/index.asp、/showarticle、/showarticle/index.asp)。 <html> <head> <title>======index.asp======显示文章列表文件</title> </head> <body> <% '数据库调用代码,此处省略 %> <li><a href="showarticle/?<%=rs("id1")%>-<%=rs("id2")%>.htm"><%=rs("title")%></a></li> </body> </html> <html> <head> <title>======showarticle/index.asp======显示文章内容文件</title> </head> <body> <% Dim value1,value2,id1,id2 value1=replace(Request.ServerVariables("QUERY_STRING"),".htm","") '获得?后面的参数 value2=split(value1,"-") '对参数进行过滤,从而获得id1和id2的值 id1=value2(0) id2=value2(1) '接下来调用数据库,并显示内容,跟动态ASP一样 %> </body> </html> 原理分析:首先利用Request.ServerVariables("QUERY_STRING")取得?后的参数,比如showarticle/?1-2.htm接收的就是1-2.htm,然后再对1-2.htm进行过滤,我们需要得到的参数是1和2,接下来再到数据库中去检索1和2,就跟动态ASP一样。

最新回答共有2条回答

  • 清风若雨
    回复
    2023-01-16 22:22:20

    asp伪静态化
    安装说明:1、在IIS的Isapi上添加这个筛选器,筛选器名称 re,可执行文件选择 Rewrite.dll ;2、设置httpd.ini文件RewriteRule /news/(d+).html /jsp/news.jsp?id=$1 [N,I]表示将news.asp?id=95 转换成news/95.html以此类推,如果你有更多的参数,则增加相应的(d+),而后面的id=$1,则增加id=$2,等等。
    目前较为普遍的动态网页包括asp,php,jsp,shtml,jhtml,cgi......甚至还有一些自己定义的,比如:aspx,do,index,hello 等等。表现形式为:news.asp?id=95。建议读者通过re_write将其转换成news/95.html,以便于google对改网页的识别。re_write是iis里的一个模块,当需要将news.asp?id=95的映射成news/95.html时,只需设置httpd.ini文件:RewriteRule /new
    如果你在处理数据翻页,那么写法是:
    More_<%=Page%>_<%=type%>.html (注:page是翻页页数,type是数据类型)
    表现形式:More_1_95.html
    如果翻下一页,则为:More_2_95.html,继续下一页的循环,则是:
    More_3_95.html,以此类推。
    不过你需要在httpd.ini文件中增加以下代码:
    RewriteRule /More_(d+)_(d+).html /jsp/more.jsp?page=$1&type=$2 [N,I]
    如果你的动态程序有多个参数需要传递,那么就增加多个(d+)即可,如下:
    RewriteRule /More_(d+)_(d+)_(d+).html /jsp/more.jsp?page=$1&type=$2&type2=$3 [N,I]
    翻页