当初第一次接触URL重写的时候,我的那个神啊。简直是见了猛虎一般的可怕。搞了几次都是以失败告终。
但是,今天我可以自豪的说,我终于搞定过来url重写了。
下面:我就将URl重写的过程和总结记录下来。
首先:需要的就是URLRewriter.dll的这个文件。至于具体的下载地址,还是自己找去吧。
有了这个文件后,那我们下来就是需要对Web.config文件开始配置了。当然,不配置也可以,只不过方法我还不知道。
具体的配置呢。
第一:需要在 <configSections>节点下配置如下的配置语句:
<configSections>
<section name="RewriterConfig" requirePermission="false" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
第二步:在
<httpModules>
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
</httpModules>
第三步:在
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
第四步:在
<modules>
<add name="all" type="URLRewriter.ModuleRewriter" />
</modules>
<handlers>
<add name="htm-3" verb="*" path="*.js" type="System.Web.StaticFileHandler"/>
<add name="htm-s" verb="*" path="*.css" type="System.Web.StaticFileHandler"/>
<add name="htm-a" verb="*" path="*.ico" type="System.Web.StaticFileHandler"/>
<add name="htm-b" verb="*" path="*.gif" type="System.Web.StaticFileHandler"/>
<add name="htm-c" verb="*" path="*.png" type="System.Web.StaticFileHandler"/>
<add name="htm-d" verb="*" path="*.swf" type="System.Web.StaticFileHandler"/>
<add name="htm-e" verb="*" path="*.xml" type="System.Web.StaticFileHandler"/>
<add name="htm-f" verb="*" path="*.htc" type="System.Web.StaticFileHandler"/>
<add name="htm-g" verb="*" path="*.jpg" type="System.Web.StaticFileHandler"/>
<add name="Html-int" path="*" verb="*" type="System.Web.UI.PageHandlerFactory" resourceType="Unspecified" preCondition="integratedMode" />
<add name="All" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
<add name="Hml" path="*.html" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
</handlers>
这里的配置的作用呢?是什么呢?是不是在其他的博文中总是看到,配置什么脚本了,通配符了。要在windows下找一个dll文件。以上的配置直接搞定了那样的问题,不需要在iis中重新配置了。
当然,还有那么多的*.jpg类型的配置,想必大家应该能知道什么意思了吧。
对,正是在url重写后,css,js ,jpg等页面元素失效后的处理方法。不要问我为什么,只要照着弄。一定可以。这也是我憋了好几天才找到的方法。
当着四步配置完成的时候:还不能说你的url重写已经搞定了。为什么呢?因为一下的这个步骤才是最关键的:
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor><!--重写后的url--></LookFor>
<SendTo><!--重写前的url--></SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/s-1/index.html</LookFor>
<SendTo>~/sour/index.aspx</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/s-2/index.html</LookFor>
<SendTo>~/sweet/index.aspx</SendTo>
</RewriterRule>
<Rules>
</RewriterConfig>
全部配置完成了,这样你的网站在 iis7.5上已经可以完美运行了。至于在ii6上的运行,我想网上的教程类已经不少了 |