1.首先添加URLRewriter.dll、ActionlessForm.dll加到bin文件夹中,添加引用

注:URLRewriter.dll实现伪静态  ActionlessForm.dll是分页时起作用,如果不使用该控件仍会跳转到aspx页面

ActionlessForm.dll使用方法:在每个aspx页面添加<%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %>

然后,将 <form runat="server">****</form>替换为: <skm:Form id="Form1" method="post" runat="server">*****</skm:Form>

2.按如下(红色部分)操作修改配置文件

<?xml version="1.0"?>

<configuration>

  <configSections>

    <!--URLRewriter_1 URL开始-->

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

    <!--URLRewriter_1 URL结束-->

  </configSections>

  <appSettings/>

  <connectionStrings/>

  <!--URLRewriter_2 URL重写开始-->

  <RewriterConfig>

    <Rules>

      <RewriterRule>

        <LookFor>~/(\w*)_(\w*).html</LookFor>

        <SendTo><![CDATA[~/WebForm1.aspx?ID=$1&Page=$2]]></SendTo>

       

      </RewriterRule>

      <RewriterRule>

        <LookFor>~/index.html</LookFor>

        <SendTo>~/Default.aspx</SendTo>

      </RewriterRule>

      <RewriterRule>

        <LookFor>~/(\w*).html</LookFor>

        <SendTo>~/WebForm1.aspx?ID=$1</SendTo>

      </RewriterRule>

    </Rules>

  </RewriterConfig>

  <!--URLRewriter_2 URL重写结束-->

  <system.web>

    <compilation debug="true" targetFramework="4.0">

    </compilation>

    <authentication mode="Windows"/>

    <httpModules>

      <!--URLRewriter_3开始-->

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

      <!--URLRewriter_3结束-->

    </httpModules>

    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>

  </system.web>

  <!--

        在 Internet 信息服务 7.0 下运行 ASP.NET AJAX 需要 system.webServer

        节。对早期版本的 IIS 来说则不需要此节。

    -->

  <system.webServer>

    <handlers>

      <remove name="html"/>

      <add name="html" path="*.html" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv2.0,bitness32"/>

    </handlers>

  </system.webServer>

</configuration>



3.程序中转向时调用<LookFor></LookFor>节点中配置的URL,注意参数

4.在iis中添加LookFor 节点配置的后缀

按照*aspx的配置添加映射(此例添加html映射)

付代码:

Default.aspx.cs:

protected void Page_Load(object sender, EventArgs e)

        {

            RedirectUrl();

        }



        protected void RedirectUrl()

        {

            Response.Redirect("sean_chang.html");

        }

WebForm1.aspx.cs

if (!IsPostBack)

            {

                Response.Write("实际调用WebForm1.aspx页面,参数ID="+ Request.QueryString["ID"]);



                Response.Write("<script type='text/javascript'>alert('参数page=" + Request.QueryString["Page"] + "')</script>");

            }

Default页面跳转到sean_chang.html页面 实际上访问的是WebForm1.aspx页面 ,并且根据webconfig配置可知 

实际访问的url路径为WebForm1.aspx?ID=sean&Page=chang 从而实现伪静态………………………………………………

页面显示:



UrlRewrite伪静态的更多相关文章

  1. seo优化urlrewrite伪静态技术

    1.下载urlrewrite-3.2.0.jar 2.在WEB-INF下增加urlrewrite.xml <?xml version="1.0" encoding=" ...

  2. urlrewrite伪静态 及多参数传递-附正则表达式语法 [轉]

    首先 加载 urlrewrite包 配置web.xml [list] [*] <error-page> [*]             <error-code>404</ ...

  3. JAVA使用urlrewrite实现伪静态化

    什么是伪静态? 伪静态字面理解就是假的静态,说的官方点就是“地址重写,用户得到的全部地址都是经过处理后的URL地址”. 为什么要伪静态呢? 提高安全性,可以有效的避免一些参数名.ID等完全暴露在用户面 ...

  4. 使用idea15搭建基于maven的springmvc-mybatis框架

    我这边使用的是intellij idea15 1.new maven webapp project 2.添加groupId和artifactId 3.选择maven路径和maven仓库路径 最后确定之 ...

  5. php Internal Server Error

    Internal Server Error The server encountered an internal error or misconfiguration and was unable to ...

  6. .NET运用AJAX 总结及其实例

    1.AJAX简介 (1.没有AJAX会怎么样?普通的ASP.Net每次执行服务端方法的时候都要刷新当前页面,比如实现显示服务器的时间.每次都要刷新页面的坏处:页面刷新打断用户操作.速度慢.增加服务器的 ...

  7. atitit.404错误的排查流程总结vOa6

    atitit.404错误的排查流程总结vOa6 1. 场景 1 1.1. 子应用猛个腊擦不能使用  404 兰.. 1 2. 服务器配置问题 2 2.1. 登录服务器管理子应用,查看应用是否启动okk ...

  8. atitit.404错误的排查流程总结

    atitit.404错误的排查流程总结 #----------jsp  head  errorPage="" del zeu ok le. #------resin 服务器配置问题 ...

  9. 使用intellij idea搭建MAVEN+springmvc+mybatis框架

    原文:使用intellij idea搭建MAVEN+springmvc+mybatis框架 1.首先使用idea创建一个maven项目 2.接着配置pom.xml,以下为我的配置 <projec ...

随机推荐

  1. python走起之第四话

    本节大纲: 一:双层装饰器:一个函数可以被多层装饰器进行装饰,函数渲染(编译)从下到上,函数执行从上到下.如下程序: 1 #!/usr/bin/env python 2 #-*-coding:utf- ...

  2. 从零开始CSS(一 2016/9/21)

    1.基础语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明. selector {declaration1; declaration2; ... declarationN } 选择器通 ...

  3. js函数、变量提升(hoisting)

    其实我只是想复习下变量提升的,然后看到了函数提升,然后再看到了函数声明.函数表达式. 有必要怀着敬仰之心提及园子里的TOM大叔的解密命名函数表达式,不愧是大叔,好好地脑补了下基础知识. 在ECMASc ...

  4. filter 过滤缓存

    package fifter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.Filter ...

  5. PyCharm配置GitHub

    原文出处: https://github.com/wssnail/ws96apt/blob/master/weixin/a.py#L21-21打开file,选择settings,找到Version C ...

  6. Ant-style path patterns

    [转载]http://blog.itpub.net/29959940/viewspace-1385870/ Ant path 匹配原则路径匹配原则(Path Matching) Spring MVC中 ...

  7. transition&transform,CSS中过度和变形的设置

    设置样式的过度效果transition-property: none/all; transition-duration:2s;运动时间,默认是0秒 transition-delay:0s; 延迟时间默 ...

  8. [讨论] win7封装时如何直接开通局域网共享

    ekincheng 发表于 2016-10-31 20:17:54 https://www.itsk.com/thread-371838-1-5.html Win7封装时不能像XP那样直接开启局域网共 ...

  9. laravel 中 与前端的一些事5 之解决缓存问题:version

    Version的主要目的就是解决浏览器的缓存问题,在这个方面,Elixir给出的解决方案很完美 应用场景:当我们的css或者js重新更新了,我们需要告诉浏览器我们不要缓存的css或js静态文件样式时, ...

  10. [笔记]JavaScript获得对象属性个数的方法

    //扩展对象的count方法 Object.prototype.count = ( Object.prototype.hasOwnProperty(‘__count__’) ) ? function ...