博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET用URLRewriter.dll实现伪静态
阅读量:6357 次
发布时间:2019-06-23

本文共 2323 字,大约阅读时间需要 7 分钟。

<configSections>

<!--用于指定配置节"RewriterConfig"的处理程序类的名称为”URLRewriter.Config.RewriterConfigSerializerSectionHandler”,该类存在于bin目录下的URLRewriter .dll文件中-->

    <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />

</configSections>

 

  <httpModules>

         <add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />

 </httpModules>

 

  <RewriterConfig>

    <Rules>
      <RewriterRule>

        <!--表示,用户输入的url,d(\d+)\.aspx是 url中文件名匹配的正则表达式(此处为字母d开头,后面跟一个或多个数字,并以.aspx结尾。用户也可根据自己的需要自行设定)。-->

        <LookFor>~/d(\d+)\.aspx</LookFor>

        <!--表示当服务器接收到符合上面条件的请求后如何重写url。此处表示访问defalutl.aspx并传入参数id,其值$1将用用户请求的文件名中的第一个数字来表示。

        例如用户输入 hostname/d11.aspx,服务器会把他重写为。换句话说用户输入http: //hostname/d11.aspx,实际访问的是
        。这样就起到了隐藏真实文件名,并便于用户记忆的作用。-->
        <SendTo>~/default.x?id=$1</SendTo>
      </RewriterRule>

 

      <RewriterRule>

        <LookFor>~/news_ny_(.*).html</LookFor>
        <SendTo>~/news_ny.aspx?newsId=$1</SendTo>
      </RewriterRule>
      <RewriterRule>
        <LookFor>~/news_(.*)_(.*).html</LookFor>
        <SendTo>~/news.aspx?newsTypeId=$1&amp;newsWhere=$2</SendTo>
      </RewriterRule>

    <RewriterRule>

        <LookFor>~/news.html</LookFor>
        <SendTo>~/news.aspx</SendTo>
      </RewriterRule>
    </Rules>
  </RewriterConfig>

 

用到AspNetPager分页控件的页面可以将AspNetPager的 UrlPaging设为false ,变相的解决分页控件显示.aspx页面问题。也可以向访问页面这样,一步一步配置,实现.html的伪静态。

对于两个参数的规则  “&” 符号要写成 “&amp;“ 用的时候第二个参数如果用不到空着即可,但是必须写"_" 如news_xwgg_.html

 

IIS 7.5 配置伪静态

httpHandler实现.Net无后缀名Web访问
     1)首先新建一个应用程序池,名称任意,比如:nettest,托管管道模式先暂时设置为集成模式,等下面的一系列设置完成之后再设置成经典模式;
     2)部署好站点,并将此站点的应用程序池设置为nettest;
     3)选中站点,切换到功能试图,找到 "服务器组件"-> "处理程序映射",双击之后,在打开窗口右侧的操作栏目下做如下设置:
     4)"添加脚本映射":请求路径 .html ,可执行文件选择 C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll ,如果是4.0,则为C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll,名称随意;
     5)"添加通配符脚本映射":请求路径 * ,可执行文件为:C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,名称随意;
     6)"添加托管处理程序":请求路径 * ,可执行文件:System.Web.UI.PageHandlerFactory,名称随意;
     7)打开站点切换到功能试图,找到 "服务器组件"->"模块",双击之后,在打开窗口右侧的操作栏目中,点击"添加托管模块",类型
URLRewriter.ModuleRewriter,并且把"仅针对向asp.net 应用程序或托管处理程序发出请求调用" 选中;
     8)最后,找到我们第一步建立的应用程序池nettest,将托管管道模式设置为经典模式。
     以上完成之后,即可实现IIS 7.5下的伪静态操作。
 
2003 IIS  配置伪静态
IIS配置:网站->属性->目录->配置(G)...->映射->应用程序扩展->添加
可执行文件:c:""microsoft.net"framework"v2.0.50727"aspnet_isapi.dll
扩展名:.html
动作:限制为 GET,HEAD,POST,DEBUG
脚本引擎:选中
确认文件是否存在:不选

转载于:https://www.cnblogs.com/jkyweb/archive/2012/08/30/2664426.html

你可能感兴趣的文章
二叉排序树 算法实验
查看>>
Silverlight 5 beta新特性探索系列:10.浏览器模式下内嵌HTML+浏览器模式下创建txt文本文件...
查看>>
YourSQLDba 配置——修改备份路径
查看>>
nginx web服务理论与实战
查看>>
java 库存 进销存 商户 多用户管理系统 SSM springmvc 项目源码
查看>>
ES6 - 函数与剩余运算符
查看>>
你对position了解有多深?看完这2道有意思的题你就有底了...
查看>>
WebSocket跨域问题解决
查看>>
世界经济论坛发布关于区块链网络安全的报告
查看>>
巨杉数据库加入CNCF云原生应用计算基金会,共建开源技术生态
查看>>
Ubuntu 16.04安装Nginx
查看>>
从 JS 编译原理到作用域(链)及闭包
查看>>
flutter 教程(一)flutter介绍
查看>>
CSS面试题目及答案
查看>>
【从蛋壳到满天飞】JS 数据结构解析和算法实现-Arrays(数组)
查看>>
Spring自定义注解从入门到精通
查看>>
笔记本触摸板滑动事件导致连滑的解决方式
查看>>
Runtime 学习:消息传递
查看>>
你了解BFC吗?
查看>>
linux ssh tunnel使用
查看>>