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. C#:类和结构的区别

    第一.引用类型和值类型 类属于引用类型,而结构属于值类型. 结构在赋值时进行复制. 将结构赋值给新变量时,将复制所有数据,并且对新副本所做的任何修改不会更改原始副本的数据. 第二.继承性 类可以继承类 ...

  2. 浅析C#深拷贝与浅拷贝

    1.深拷贝与浅拷贝   拷贝即是通常所说的复制(Copy)或克隆(Clone),对象的拷贝也就是从现有对象复制一个“一模一样”的新对象出来.虽然都是复制对象,但是不同的 复制方法,复制出来的新对象却并 ...

  3. Scrum Meeting 6-20151208

    任务安排 姓名 今日任务 明日任务 困难 董元财 修复app特定情况下崩溃 服务器购买记录接口 无 胡亚坤 聊天界面优化 发布记录和购买记录 无 刘猛 请假(生病了) 完成Scrum Meeting ...

  4. iOS 圆角图片

    // 开启图形上下文UIGraphicsBeginImageContextWithOptions(image.size, NO, 0);// 剪裁 UIBezierPath *path=[UIBezi ...

  5. Java后台传前台json数组

    function checkStore(){ var flag=1; $.ajax({ url:"widget?type=shop_cart&ajax=yes&action= ...

  6. GreenPlum简单性能测试与分析--续

    版权声明:本文由黄辉原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/259 来源:腾云阁 https://www.qclou ...

  7. WEB项目 后台接收前端数组

    //保存区域选择的设备 $scope.saveDevice = function(){ var device = []; $("input[type='checkbox']:checked& ...

  8. html5-表单

    例子: text,number,email 的输入框 <!-- required:必填项 --> <!-- autofocus:获得焦点 --> <!-- placeho ...

  9. eclipse 本地项目提交到远程库以及从远程库中添加项目 ---git

    本地项目提交到远程库 1.右击项目->team->share project 2.选择本地库 从远处库中的项目拉到本地 1.右击项目->import项目

  10. 介绍开源的.net通信框架NetworkComms框架之八 UDP通信

    原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架  作者是英国人  以前是收费的 目前作者已经开源  许可是 ...