IIS 6 UrlRewrite 步骤

1、下载URLRewrite.dll 放在bin目录下


2、修改web.config

    。configSections节点增加:

      <configSections>

                         <section name="RewriterConfig" 

                             type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />

            </configSections>


。 <configuration> 下增加重写规则

<RewriterConfig>
                      <Rules>

                               <RewriterRule><LookFor>/ld/(\d+)</LookFor><SendTo><![CDATA[/ld/Default.aspx?leader=$1]]></SendTo>

                                </RewriterRule>

                       </Rules>

   </RewriterConfig>


 。  httpHandlers节点增加

  <httpHandlers> 

                    <add verb="*" path="*.htm" 

                              type="URLRewriter.RewriterFactoryHandler, URLRewriter" /> 

                       <add verb="*" path="*"  

                             type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

    </httpHandlers>


   path 指定了从重写后扩张名,如果没有扩张名就用*;


3、IIS设置

     点站点文件夹右键-》属性-》虚拟目录=》配置,映射添加,输入可执行文件  名:

    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,

     扩张名可以是htm或者其他。

     如果要支持目录样式的重写(比如default.aspx?id=6 重写为/6/),你应该在同一个位置点“插入”,让后输入“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll”,确认文件是否存在,点掉(让asp.net 接管所有请求)。


4、如果您的图片和样式、脚本、和重写的是同一级目录或者是重写目录的子目录,而且你又需要支持目录式的重写,访问图片等文件的时候可能会出现: 

没有为扩展名“.jpg”注册的生成提供程序

”,一般的解决办法是在。

compilation 节点添加

<buildProviders>

               <add extension=".jpg"

                              type="System.Web.Compilation.PageBuildProvider" />

 </buildProviders>



注意如果你是不想程序截取html,htm静态文件的访问,这样做是没有问题,如果是对应的css和jpg,gif就会提示找不到文件或者直接输出二进制内容。

解决办法:强烈建议你把对应的images 和 scripts (假设你的图片和脚本保存在这个文件夹)文件夹在iis上点右键-》属性,在目录选项卡点“创建”,把这些文件夹创建为一个虚拟目录(应用程序),然后点配置,把url重写的脚本映射去掉,ok,你图片和样式回来了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值