手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

URL重写可删节日期模式---正则表达式之强力应用

来源:互联网 作者:west263.com 时间:2008-02-22
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

同样:http://blog.tyoo.net/joshualang/Articles/2007/01/08/.aspx也是不行的。还需要定义其它应对规则来实现恰如其份的重写效果。

好了,大致上效果已经出来了;这里是完整的规则代码:

<!--author: Joshua Li (joshuasco@126.com ) QQ:245965348-->
<!-- Rules for Blog Content Displayer -->
<RewriterRule>
<LookFor>~/([A-Za-z]w{5,16})/Default.aspx</LookFor>
<SendTo>~/Default.aspx?Bloger=$1</SendTo>
</RewriterRule>
<!-- Rules for Article Lister -->
<RewriterRule>
<LookFor>~/Articles/(d{4})\/(d{2})\/(d{2})\/(d{1,6})\/([A-Za-z]w{5,16}).aspx</LookFor>
<SendTo>~/Default.aspx?ArticleID=$1$2$3$4&amp;Bloger=$5</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Articles/(d{4})\/(d{2})\/(d{2})\/(d{1,6})((\/)?).aspx</LookFor>
<SendTo>~/Default.aspx?ArticleID=$1$2$3$4</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Articles/(d{4})\/(d{2})\/(d{2})\/([A-Za-z]w{5,16}).aspx</LookFor>
<SendTo>~/Default.aspx?ArticleID=$1$2$3&amp;Bloger=$4</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Articles/(d{4})\/(d{2})\/(d{2})((\/)?).aspx</LookFor>
<SendTo>~/Default.aspx?ArticleID=$1$2$3</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Articles/(d{4})\/(d{2})\/([A-Za-z]w{5,16}).aspx</LookFor>
<SendTo>~/Default.aspx?ArticleID=$1$2&amp;Bloger=$3</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Articles/(d{4})\/(d{2})((\/)?).aspx</LookFor>
<SendTo>~/Default.aspx?ArticleID=$1$2</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Articles/(d{4})\/([A-Za-z]w{5,16}).aspx</LookFor>
<SendTo>~/Default.aspx?ArticleID=$1&amp;Bloger=$2</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Articles/(d{4})((\/)?).aspx</LookFor>
<SendTo>~/Default.aspx?ArticleID=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Articles/([A-Za-z]w{5,16}).aspx</LookFor>
<SendTo>~/Default.aspx?Bloger=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Articles/Default.aspx</LookFor>
<SendTo>~/Default.aspx?ArticleID=-1</SendTo>
</RewriterRule>
说明:在这里为了访止用户误删节掉重要的.aspx扩展名,我将用户名作为了文件的虚拟标识名称。

最后得到的URL: http://blog.tyoo.net/Articles/2007/01/18/015000/joshualang.aspx

同时将放在最后的最长为6位的时间设置为可删节变长,就算丢了某些数字也能最方便的找到与该发表时间最接近的列表。

在去除用户名后也不会影响到使用,还是通过前边详细的时间格式很快会得到与您需要的文章最批配的列表。如果用户名完好则能通过删节找到特定时间段对应作者的文章列表。

还要注意的是:用户名的格式([A-Za-z]{6-16})和规则验证的顺序。

总结:
通过规则的URL重写过程后像实际存在此目录一样会具有严密的格式但显得框架结构更方便更灵活,从而得到功能和用户体验上的重点提升
暂时到这里吧。有什么疑问欢迎回复加入讨论。如果有更好的重写方法很高兴能通知下本人哦。
http://www.cnblogs.com/Joshualang/archive/2007/01/19/624302.html

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!