|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
也许唯一可以让世人留恋Java的理由就剩下它的王牌——跨平台。UrlRewriter是微软封装好了的一个URL重写组件。利用它可让我勤俭良多自已开辟的工夫。 好了,入手下手报告我的使用履历,这只是很菜鸟的履历,妙手就不必看了。
第一步,请今后下载此组件。解压,把UrlRewriter.dllcopy到你的项目bin目次下。
第二步,在Web.config中到场:
<?xmlversion="1.0"encoding="gb2312"?>
<configuration>
<configSections>
<sectionname="RewriterConfig"type="URLRewriter.Config.RewriterConfigSerializerSectionHandler,URLRewriter"/>
</configSections>
第二步,到场重写的划定规矩节点:
如:
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/Sell/(.[0-9]*).html</LookFor>
<SendTo>~/Search/Search_Sell.aspx?id={GetProperty(Content)}</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Sell/Search_Sell.aspx</LookFor>
<SendTo>~/Search/Search_Sell.aspx</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Buy/(.[0-9]*).html</LookFor>
<SendTo>~/Search/Search_Buy.aspx?id={GetProperty(Content)}</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/Buys/(.[0-9]*).html</LookFor>
<SendTo>~/Buys/Show.aspx?id={GetProperty(Content)}</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
这个就要依据你的必要了,假如你对正则表达式不熟,那末没举措,要末依附你的高智商往找个中纪律,稍稍改一下就可以为你所用了。呵呵。假如其实弄不清,那就本人GOOGLE一下正则表达式吧。(自己入手下手是参考他人的设置猜的,居然用对了,呵呵。厥后仍是看了一下相干材料,发明这东东很有效。)
第三步,到场模块设置(写在<system.web>内里):
如:
<httpHandlers>
<addverb="*"path="*.aspx"type="URLRewriter.RewriterFactoryHandler,URLRewriter"/>
</httpHandlers>
(这里暗示利用HTTP程序来处置重写)
好了,到了如今我们能够试一下看。
因而输出:http://127.0.0.1:8080/Sell/1.aspx呈现了,呵呵。可是假如所它改成:http://127.0.0.1:8080/Sell/1.html
晕,发明不可。汗。。。
呵呵,缘故原由是没把HTML的剖析用asp.net 的ISAPI来剖析。
举措是。。。
第四步,在IIS你的站点属性主目次设置映谢到场一个和aspx页面的设置不异的扩大名项。注重“确认文件是不是存在”不要勾选,不然会呈现找不到文件。
如今再来碰运气。甚么?#¥%#¥%#,仍是不可。呵呵。不要急,我们回过火再来看看,本来在web.config中我们没有设置.html也利用模块此剖析。
第五步,在模块设置中到场:
<httpHandlers>
<addverb="*"path="*.aspx"type="URLRewriter.RewriterFactoryHandler,URLRewriter"/>
<addverb="*"path="*.html"type="URLRewriter.RewriterFactoryHandler,URLRewriter"/>
</httpHandlers>
如今总能够了吧,呵呵。终究看到了,镇静吧。不要急,这还只是最复杂的。假如你的页面有回传。好比说放了DATAGRID,有分页的,你点到下一页就发明,晕倒,又出成绩了。
这下怎样办呢,这个实在微软件的网站上就有说到,我在这里简述一下了。
第六步,到场窗体回传坚持的组件:
在本来你下载的项目里找到ActionlessForm.dll放到你的项目bin目次下。
然后在你的这个页面中到场:
<%@RegisterTagPrefix="skm"Namespace="ActionlessForm"Assembly="ActionlessForm"%>
再把你的<Form...>改成:
<skm:Formid="你的表单名"method="post"runat="server">
.....
</skm:Form>
ThatsAll.如今你能够万事大吉了。统统如你所愿。
最初,恭祝列位统统顺遂。
我以前很喜欢Serv-U,自从它用Java重写之后我就再也没用过,实在是太慢了,我宁可用IIS搭建FTP,虽然IIS搭建FTP在权限管理上很不灵活。 |
|