• ASP.NET伪静态配置


    注意:此方法与IIS额外添加的“URL重写”是无关的,不是一种形式

    一、下载URLRewriter.dll

    二、在项目中添加URLRewrite的引用

    三、配置webconfig

    1.在<configuration>节点中添加:

    1 <configSections>
    2     <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
    3   </configSections>
    View Code

    2.在<configuration>节点中添加

     1 <RewriterRule>
     2         <LookFor>~/Default.html</LookFor>
     3         <SendTo>~/Default.aspx</SendTo>
     4       </RewriterRule>
     5       <RewriterRule>
     6         <LookFor>~/NewsDetail/([d]*)/([d]*)/([d]*).html</LookFor>
     7         <SendTo>~/NewsDetail.aspx?rcid=$1&amp;cid=$2&amp;id=$3</SendTo>
     8       </RewriterRule>
     9       <RewriterRule>
    10         <LookFor>~/NewsDetail2/([d]*)/([d]*)/([d]*).html</LookFor>
    11         <SendTo>~/NewsDetail2.aspx?rcid=$1&amp;cid=$2&amp;id=$3</SendTo>
    12       </RewriterRule>
    13       <RewriterRule>
    14         <LookFor>~/Layout/([d]*)/([d]*).html</LookFor>
    15         <SendTo>~/Layout.aspx?rcid=$1&amp;cid=$2</SendTo>
    16       </RewriterRule>
    17       <RewriterRule>
    18         <LookFor>~/Perspective/([d]*)/([d]*).html</LookFor>
    19         <SendTo>~/Perspective.aspx?rcid=$1&amp;cid=$2</SendTo>
    20       </RewriterRule>
    21       <RewriterRule>
    22         <LookFor>~/News/([d]*)/([d]*).html</LookFor>
    23         <SendTo>~/News.aspx?rcid=$1&amp;cid=$2</SendTo>
    24       </RewriterRule>
    25       <RewriterRule>
    26         <LookFor>~/Friends/([d]*)/([d]*).html</LookFor>
    27         <SendTo>~/Friends.aspx?rcid=$1&amp;cid=$2</SendTo>
    28       </RewriterRule>
    29       <RewriterRule>
    30         <LookFor>~/Cases/([d]*)/([d]*).html</LookFor>
    31         <SendTo>~/Cases.aspx?rcid=$1&amp;cid=$2</SendTo>
    32       </RewriterRule>
    33       <RewriterRule>
    34         <LookFor>~/About/([d]*)/([d]*).html</LookFor>
    35         <SendTo>~/About.aspx?rcid=$1&amp;cid=$2</SendTo>
    36       </RewriterRule>

    和下面的注意一下,没整理格式!!

    1 <RewriterConfig>
    2     <Rules>
    3       <RewriterRule><LookFor>~/NewsDetail/([d]*)/([d]*)/([d]*).html</LookFor>
    4         <SendTo>~/NewsDetail.aspx?rcid=$1&amp;cid=$2&amp;id=$3</SendTo>
    5       </RewriterRule>
    6     </Rules>
    7   </RewriterConfig>
    View Code

    3.在<system.web>节点中添加

    1 <httpHandlers>
    2       <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
    3       <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
    4     </httpHandlers>
    View Code

    4.在<system.web>节点中添加

    1 <httpModules>      
    2       <add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
    3     </httpModules>
    View Code

    四、配置IIS7.5 或IIS7.0

       1.新建一个应用程序池:名称:任意如:aspnet;选择net FrameWork版本(如果你的网站时候2.0的话就选择2.0,我的是4.0)在此我选择Net FramWork v 4.030319. 托管管道模式先暂时设置为集成模式。等下面的设置完成之后再将托管管道模式设置为经典模式。如果下面的设置完成之后不把应用程序设置为经典模式的话,伪静态的功能可以实现,但是页面的样式图片不能正常显示这是设置的关键。

       2 新建一个网站 website ,将此站点的应用程序程序池设置为aspnet。

       3  选中你的站点比如website ,并且切换到功能视图。双击【处理程序映射】在打开窗口右侧的操作栏目下做如下操作。

          3.1,【添加脚本映射】-路径为:*.html.可执行文件为:C:WindowsMicrosoft.NETFrameworkv4.0.30319aspnet_isapi.dll 注意:如果你的网站是2.0。可执行文件为:C:WindowsMicrosoft.NETFrameworkv2.0.50727aspnet_isapi.dll 。名称:任意,比如:html.

    (注意:有人问为什么会有2个文件夹,因为小编的是64位系统,如果你的系统是32位的。请选择Framework,如果64位,请选Framework64。这个关键到后面的伪静态问题,慎重!!)
            3.2, 【添加通配符脚本映射】 请求路径为*。可执行文件为:C:WindowsMicrosoft.NETFrameworkv2.0.50727aspnet_isapi.dll,名称任意,比如:aspnet.

           3.3,【托管处理程序映射】(路径:*  可执行文件:System.Web.UI.PageHandlerFactory 名称 任意 比如Html-Integrate)

           3.4, 双击website站点切换到站点功能视图。然后双击模块,打开窗口之后在右侧的操作栏目下面,单击【添加托管模块】-》名称:任意 如aspnet  类型:URLRewriter.ModuleRewriter 并且 把【仅针对向asp.net 应用程序或托管处理程序发出请求调用】前面的选项 勾上。(记住一定要勾上)。

           3.5 ,最后一步:双击iis7.0或7.5的应用程序池。在应用程序池列表中找到【aspnet】应用程序池。双击打开之后。将aspnet应用程序池的【托管管道模式】设置为经典模式。

  • 相关阅读:
    队列
    StringBuilder&StringBuffer 源码阅读
    八种基本类型的包装类
    Object 源码阅读
    String 类源码分析
    SpringBoot 启动流程
    BeanDefinition 实例化过程
    BeanDefinition 解析流程【解析所有配置类】
    BeanDefinition 实例
    切面触发过程
  • 原文地址:https://www.cnblogs.com/zhangwj/p/8110272.html
Copyright © 2020-2023  润新知