404错误伪静态类封装class RewriteBase
作者:hayden 日期:2009-06-12
这是早上找了点时间写了一个利用404错误达到静态态效果的类,准备在HTTP://PJSKIN.MYSUC.COM中使用的。不过现在没时间去弄了,因为首页嘛,一般就用动态的了,但需要将里面的地址改成静态后的地址,麻烦啊,今天就不弄啦,不过基本的类框架都写好了,剩下的只是去写写规则,及更改首页的页面内容中出现的地址。
下面来看看该RewriteBase类的使用方法:
在404asp页面中首先引入RewriteBase类
然后在后面的ASP代码中按如下方面设置伪静态:
<%
Dim Rewrite
Set Rewrite = new RewriteBase '建立对象
'Rewrite.Char "utf-8" '设置编码默认为utf-8
'假设访问网址:http://pjskin.mysuc.com/style_1149.shtml
'Rewrite.ourl '这里可以测试最初所接收的地址,如我的空间404后该函数所接收到的地址是这样的:http://202.91.239.125/404.asp?404;http://pjskin.mysuc.com:80/style_1149.shtml=
Rewrite.ReSetUrl "http[^;]*;([^=]*)=","$1" '通过上面的地址,设置一个正则转换,使其变成我们在浏览器中所点击的地址。如果你的空间没有此问题,这一步可以去掉。
'Rewrite.ourl '这里可以测试是否成功转换为所点击的地址。如结果显示为:http://pjskin.mysuc.com/style_1149.shtml
'**************************
'伪静态正则规则开始。
'**************************
Rewrite.Rule "(http:[^:]*):80\/style_([0-9]+)\.shtml","$1/?styleid=$2"
'Rewrite.ourl '这里可以测试是否已转换到最后地址,将上一步格式的地址转化成如下:http://pjskin.mysuc.com/styleid=1149
'下面的规则是我按PJBLOG的地址写了一个规则,不过有待测试。
'Rewrite.Rule "^\/article\/([0-9]+)\.htm","/article.asp?id=$1"
'Rewrite.Rule "^\/class_([0-9]+)\.html$","/default.asp?cateID=$1"
'Rewrite.Rule "^\/tag\.htm$","/tag.asp"
'Rewrite.Rule "^\/GuestBook\.html$","/LoadMod.asp?plugins=GuestBookForPJBlog"
'Rewrite.Rule "^\/AboutMe\.html$","/LoadMod.asp?plugins=AboutMeForPJBlog"
'Rewrite.Rule "^\/tag_([^\.])*\.html$","/default.asp?tag=$1"
'**************************
'转换页面中存在的动态地址
'**************************
'利用Rewrite.Src 函数,转换输出的页面内容中的链接网址。如果已在源码中都修改了,在这里就不需要设置。
Rewrite.Src "(href=""[^\?]*)\?styleid=([0-9]+)","$1style_$2.shtml" '将页面里的地址转成伪静态格式的地址。
Set Rewrite = Nothing
%>
有兴趣的朋友可以下载RewriteBase类源码玩玩:
压缩包类包括:404.asp、cls_RewriteBase.asp
点击下载此文件
在线测试地址:http://pjskin.mysuc.com/style_1075.shtml#comm_84 注意看里面的链接,目前只写了一条规则(就是上面示例中的)
404.asp源码:
HTML代码
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
下面是cls_RewriteBase的源码:
HTML代码
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
下面来看看该RewriteBase类的使用方法:
在404asp页面中首先引入RewriteBase类
复制内容到剪贴板
程序代码
程序代码<!--#include file="cls_RewriteBase.asp"-->
然后在后面的ASP代码中按如下方面设置伪静态:
复制内容到剪贴板
程序代码
程序代码<%
Dim Rewrite
Set Rewrite = new RewriteBase '建立对象
'Rewrite.Char "utf-8" '设置编码默认为utf-8
'假设访问网址:http://pjskin.mysuc.com/style_1149.shtml
'Rewrite.ourl '这里可以测试最初所接收的地址,如我的空间404后该函数所接收到的地址是这样的:http://202.91.239.125/404.asp?404;http://pjskin.mysuc.com:80/style_1149.shtml=
Rewrite.ReSetUrl "http[^;]*;([^=]*)=","$1" '通过上面的地址,设置一个正则转换,使其变成我们在浏览器中所点击的地址。如果你的空间没有此问题,这一步可以去掉。
'Rewrite.ourl '这里可以测试是否成功转换为所点击的地址。如结果显示为:http://pjskin.mysuc.com/style_1149.shtml
'**************************
'伪静态正则规则开始。
'**************************
Rewrite.Rule "(http:[^:]*):80\/style_([0-9]+)\.shtml","$1/?styleid=$2"
'Rewrite.ourl '这里可以测试是否已转换到最后地址,将上一步格式的地址转化成如下:http://pjskin.mysuc.com/styleid=1149
'下面的规则是我按PJBLOG的地址写了一个规则,不过有待测试。
'Rewrite.Rule "^\/article\/([0-9]+)\.htm","/article.asp?id=$1"
'Rewrite.Rule "^\/class_([0-9]+)\.html$","/default.asp?cateID=$1"
'Rewrite.Rule "^\/tag\.htm$","/tag.asp"
'Rewrite.Rule "^\/GuestBook\.html$","/LoadMod.asp?plugins=GuestBookForPJBlog"
'Rewrite.Rule "^\/AboutMe\.html$","/LoadMod.asp?plugins=AboutMeForPJBlog"
'Rewrite.Rule "^\/tag_([^\.])*\.html$","/default.asp?tag=$1"
'**************************
'转换页面中存在的动态地址
'**************************
'利用Rewrite.Src 函数,转换输出的页面内容中的链接网址。如果已在源码中都修改了,在这里就不需要设置。
Rewrite.Src "(href=""[^\?]*)\?styleid=([0-9]+)","$1style_$2.shtml" '将页面里的地址转成伪静态格式的地址。
Set Rewrite = Nothing
%>
有兴趣的朋友可以下载RewriteBase类源码玩玩:
压缩包类包括:404.asp、cls_RewriteBase.asp
点击下载此文件在线测试地址:http://pjskin.mysuc.com/style_1075.shtml#comm_84 注意看里面的链接,目前只写了一条规则(就是上面示例中的)
404.asp源码:
HTML代码[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
下面是cls_RewriteBase的源码:
HTML代码[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]


小弟不懂还是路过。www.crazy1in.tk
额,不是博客的留言本程序了,
是你提供下载的那个留言本程序,怎么实现在留言框里加个可以改颜色的UBB功能。
还有就是只有管理员可见得功能~这2个功能非常需要。
是你提供下载的那个留言本程序,怎么实现在留言框里加个可以改颜色的UBB功能。
还有就是只有管理员可见得功能~这2个功能非常需要。
发表评论


文章来自:
Tags:
测试了下,OK了,但有点问题
引用内容