• 利用 UrlRewritingNet 实现伪静态方法


    由于要实现无拓展名的伪静态,就是装作文件夹默认页的那种形式。一起在用的urlrewriter不太给力了。

    在网上查找实现方法,突然发现了UrlRewritingNet.UrlRewriter.dll 这个开源伪静态组件。

    网址:http://www.urlrewriting.net/149/en/home.html

    挺好用的,配置简单,文档全,而且不用像之前一样还要弄一个ActionlessForm。按钮的回发问题完美解决。

    下面进入正题:

    一、引入类库

    二、配置webconfig

    首先,在<configuration>下添加

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

    接着,仍旧在<configuration>下添加

     <urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage = "index.html" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
       
        <rewrites>
         
          <add name="Rewrite1" virtualUrl="^~/a/index.html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/a.aspx" ignoreCase="true" />
          <add name="Rewrite2" virtualUrl="^~/(.*)/(.*)/(.*).html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/a.aspx?c1=$1&amp;c2=$2&amp;id=$3" ignoreCase="true" />
          <add name="Rewrite3" virtualUrl="^~/(.*)/(.*)/(.*)/index.html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/a.aspx?c1=$1&amp;c2=$2&amp;id=$3" ignoreCase="true" />
        </rewrites>
       
      </urlrewritingnet>

    <rewrites>里面就是url重写规则,$参数值,&amp;就是&,defaultPage = "index.html"表示装作默认页的名称,同时伪静态规则里面也得这么写。

    最后<system.web>里

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

    二、IIS配置

    iis-属性-主目录-配置-插入

    c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll

    确认文件是否存在,去掉勾选。

    用心写代码,不辜负程序员之名。
  • 相关阅读:
    Java数据持久层
    一张图解决ThreadLocal
    类加载器及其加载原理
    手写LRU缓存淘汰算法
    使用归并排序思想解决逆序对数量问题
    Same Origin Policy 浏览器同源策略详解
    如何估算线程池的线程数?
    分布式锁为什么要选择Zookeeper而不是Redis?
    SpringBoot的SpringMVC使用FastJson依赖时LocalDateTime全局配置序列化格式
    数据库中的枚举值如何存储
  • 原文地址:https://www.cnblogs.com/thinkingthigh/p/2777352.html
Copyright © 2020-2023  润新知