url重写 反向 去掉后缀名

webconfig配置

<section name="urlrewritingnet"
          restartOnExternalChanges="true"
           requirePermission ="false"
          type="UrlRewritingNet.Configuration.UrlRewriteSection,  
            UrlRewritingNet.UrlRewriter"  />

configSections节点下

 

 

 

 <httpModules>
        <add name="UrlRewriteModule"
       type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />

 </httpModules>

 

 <urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage="index" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
      <rewrites>
      
        <add name="Rewrite1" virtualUrl="~/explore/awards"    rewriteUrlParameter="ExcludeFromClientQueryString"    destinationUrl="~/explore/Award.aspx"    ignoreCase="true" />

        <add name="Rewrite2" virtualUrl="~/explore/brand"    rewriteUrlParameter="ExcludeFromClientQueryString"    

 </rewrites>
    </urlrewritingnet>

 

name不能相同  与顺序有关    如果有地址/explore和/explore/awards 不能把/explore放在前面   有时候绝对路径和相对的不同 会影响样式和图片

 

后台方法 反向处理

 


    public static string UrlRewriter(string Url)
    {
        object ob = System.Configuration.ConfigurationManager.GetSection("urlrewritingnet");

        int counts = (((UrlRewritingNet.Configuration.UrlRewriteSection)(System.Configuration.ConfigurationManager.GetSection("urlrewritingnet"))).Rewrites).Count;


        for (int i = 0; i < counts; i++)
        {
            string virtualUrl = ((UrlRewritingNet.Configuration.UrlRewriteSection)(System.Configuration.ConfigurationManager.GetSection("urlrewritingnet"))).Rewrites[i].Attributes["virtualUrl"].ToString();
            string destinationUrl = ((UrlRewritingNet.Configuration.UrlRewriteSection)(System.Configuration.ConfigurationManager.GetSection("urlrewritingnet"))).Rewrites[i].Attributes["destinationUrl"].ToString();
            string Dizhi = Url;
            string destinationUrl2 = destinationUrl;
            if (Url.Contains("?"))
            {
                Dizhi = Url.Split('?')[0];
            }
            //排除底部的链接   因为是公用个页面 处理下
            if (destinationUrl.Contains("?"))
            {
                destinationUrl2 = destinationUrl.Split('?')[0].ToString();
            }
            if (Dizhi.ToLower() == destinationUrl2.ToLower())
            {
                if (Url.Contains("?"))
                {
                    virtualUrl = virtualUrl + "?" + Url.Split('?')[1];
                }
                return virtualUrl;
            }
        }
        return Url;
    }

 

如果有参数  一样带过去  配置中只写地址就行

 

资源中心中有dll下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值