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

2008-02-22 09:42:13来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

同样: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

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:ASP.NET中利用VWD操作数据库

下一篇:asp.net2.0中关于ASP.NET 网站管理工具无法连接sql server 数据