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. Json不知道key值情况下获取第一个键值对

    JObject jsonData = new JObject(); jsonData.Add("1", "1"); jsonData.Add("2&q ...

  2. 用HttpSessionListener与HttpSessionBindingListener实现在线人数统计

    在线人数统计方面的实现,最初我的想法是,管理session,如果session销毁了就减少,如果登陆用户了就新增一个,但是如果是用户非法退出,如:未注销,关闭浏览器等,这个用户的session是管理不 ...

  3. Linux Shell 批量更换文件名或后缀名

    把下列所有.c的文件名修改为.cc rename .c .cc *.c

  4. 【前端开发系列】—— 别说你不会Ajax

    之前一直都是用封装好的Ajax,所以一直很好奇它是如何使用和实现的.这里正好就进行一下学习,下面是Ajax的一个时间图. 设置触发条件 这里模拟一个使用场景,就是在用户登陆时,异步的对用户名以及密码进 ...

  5. django template

    一.模板基本元素 1.例子程序 1)urls.py中新增部分 from django.conf.urls import patterns, url, include urlpatterns = pat ...

  6. Security » Authorization » 基于角色的授权

    Role based Authorization¶ 基于角色的授权 133 of 153 people found this helpful When an identity is created i ...

  7. swig之于c++

    [namespace] namespace nsTest1 { int nsAdd(int a, int b) { return a + b; } } namespace nsTest2 { int ...

  8. 【nginx】利用yum源安装nginx

    先安装nginx的yum源 http://nginx.org/en/linux_packages.html#stable 找到链接,安装: rpm -ivh http://nginx.org/pack ...

  9. zoj 2833 friendship

    zoj 2833这次真的很顺利了..居然是因为数组的大小没有符合要求,瞎折腾了很久..没有注意到要求范围,真是该死! 想法很简单,就是定义一个父结点数组,下标 i 表示这个元素,初始化为 -1表示 这 ...

  10. thinkPHP 数字字典