• Windows 7 中让IIS7支持shtml功能及在ASP.Net中使用UrlRewritingNet实现链接重写


    1、打开“控制面板”→“程序和功能”→“打开或关闭Windwos功能”。
    2、在打开的窗口中依次展开“Internet信息服务”→“万维网服务”→“应用程序开发功能”,选中“服务器端包含”选项,确定安装即可。

    SNAGHTML409cad

     

    在ASP.Net中使用UrlRewritingNet实现链接重写

    很多时候我们需要链接转向(Url Rewriting),例如二级域名转向、文章访问链接等场合。

    让我们看两个例子:
    1 你看到有些人的博客的域名如:
    http://dwfbenben.cnblogs.com实际上是 http://www.cnblogs.com/dwfbenben 的一种链接重写(Url Rewriting)。

    那么如何在Asp.net2.0中如何实现链接重写呢?(对于其他Framework是一样的)
    可以采用UrlRewritingNet.UrlRewriter.dll来轻松实现
    UrlRewritingNet.UrlRewriter.dll 可从其官方网站下载:http://www.urlrewriting.net
    我们要做的就是进行Web.Config文件的设置
    步骤一:设置之前需要添加引用:UrlRewritingNet.UrlRewriter.dll
    步骤二:<configSections>间添加:
    <configSections>
    <section name="urlrewritingnet" restartOnExternalChanges="true" requirePermission="false" type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter"/>
    </configSections>

    步骤三: 添加httpModules
    <httpModules>
    <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter"/>
    </httpModules>

    步骤四:添加链接重写的设置
    <urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage="default.aspx" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
    <rewrites>
    <add name="Rewrite1" virtualUrl="^http\://(.*)/UrlRewritingTest/test.aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/default.aspx" rewrite="Domain" ignoreCase="true"/>
    <add name="Rewrite2" virtualUrl="^http\://(.*)/UrlRewritingTest/test1.aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/info.aspx?year=2007&amp;month=3&amp;day=9" rewrite="Domain" ignoreCase="true"/>

     <add name="RewriteOnDomain" virtualUrl="^http\://(.*)/SampleWeb/domain/(.*)/Detail(.*).aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Default.aspx?language=$3&amp;id=$4;&amp;domain=$1" rewrite="Domain" ignoreCase="true" />
    <add name="Rewrite" virtualUrl="^~/(.*)/Detail(.*).aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Default.aspx?language=$1&amp;id=$2" ignoreCase="true" />
    <add name="RedirectInApplication" virtualUrl="^~/(.*)/Default.aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/$1/Detail_Redirected.aspx" redirect="Application" redirectMode="Permanent" ignoreCase="true" />
    <add name="KickBrowserToDomain" virtualUrl="^http\://(.*)/SampleWeb/kickto/(.*).aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="http://$2?source=$1" redirect="Domain" redirectMode="Permanent" ignoreCase="true" />
    <add name="ding" virtualUrl="^~/(\d+).ding" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/default.aspx" redirect="Application" redirectMode="Permanent" ignoreCase="true" />
    </rewrites>
    </urlrewritingnet>

    步骤五:注意在处理程序映射里添加相应的脚本映射

    SNAGHTMLb40e74

  • 相关阅读:
    JVM工作原理--垃圾收集
    并发编程之单例模式
    设计模式之动态代理
    UML类图基础
    CAP理论的理解
    Dubbo RPC调用参数校验---错误message自动返回
    ELK日志分析系统搭建
    Kafka原理及应用(一)
    HTTPS的原理
    Maven 生命周期的概念(指令默认顺序执行)
  • 原文地址:https://www.cnblogs.com/dwfbenben/p/2731775.html
Copyright © 2020-2023  润新知