首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

使用UrlRewritingNet实现URL重写时遇到的有关问题

2012-02-25 
使用UrlRewritingNet实现URL重写时遇到的问题?我想实现类似WordPress的那种以文章名为文件名的重写.就例如

使用UrlRewritingNet实现URL重写时遇到的问题?
我想实现类似WordPress的那种以文章名为文件名的重写.
就例如有一篇文章的标题为Hello   world     其原始地址可能为article.aspx?id=1
但我想利用UrlRewritingNet这个组件..将URL重写为   Hello+world.html   或Hello+world.aspx.
当然,该文件名是在发表文章时就已经存在数据库里面的......
现在碰到的问题是不知要在何时注册该重写规则~
我尝试在BeginRequest里面写下以下代码:
RegExRewriteRule   rule   =   new   RegExRewriteRule();
                //rule.VirtualUrl   =   "^~/haha/haha1.aspx ";
                rule.VirtualUrl   =   ((HttpApplication)sender).Context.Request.Path;
                rule.DestinationUrl   =   "~/Default2.aspx?a=10 ";
                rule.IgnoreCase   =   true;
                rule.Rewrite   =   RewriteOption.Application;
                rule.Redirect   =   RedirectOption.None;
                rule.RewriteUrlParameter   =   RewriteUrlParameterOption.ExcludeFromClientQueryString;
                UrlRewriting.AddRewriteRule( "ttt ",   rule);
会发现.随便输入一个地址的话,第一次将会找不到资源.必须刷新一次才能转到Default2.aspx的页面..原因似乎是第一次进入的时候.名为ttt的规则还没被创建..第二次刷新,才能够正常重写

[解决办法]
一般是在webconfig中通过正则表达式进行匹配的
[解决办法]
好像是这样的哦!
如果你有1万多个页面,那真的要写1万多个!
如果是同一页面,也就是说同一文章,只是参数不同,那可以通过正则表达式进行匹配
[解决办法]
不懂,关注一下

热点排行