zoukankan      html  css  js  c++  java
  • 使用HttpModule实现网址重写

    1.  修改配置文件:

     <httpModules>
            <</span>add name="html" type="HttpModule"/>
    </httpModules>

    2.  编写HttpModule类:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    ///URL重写  的摘要说明
    ///1.创建类文件 HttpModule.cs
    ///2.实现IHttpModule接口的方法
    
    public class HttpModule : IHttpModule
    {
            //清理资源
            public HttpModule(){}
     
            public void Dispose(){}
            ///
            /// 初始化
            ///
            ///
            public void Init(HttpApplication context)
            {
                //3.在初始化方法中添加事件处理方法
                context.BeginRequest += new EventHandler(BeginRequest);
                context.EndRequest += new EventHandler(EndRequest);
            }
     
            //4. 编写开始处理请求代码
     
            public void BeginRequest(object sender, EventArgs e)
            {
                HttpApplication app = sender as HttpApplication;
                //app.Response.Write("开始处理请求!");
                //4.1 截获请求网址
                string url = app.Request.RawUrl;
                //4.2 判断网址是否符合要求,判断是否进行重发到指定页面
                if (url.LastIndexOf(".html") > 0)
                {
                    //转发到指定页面
                    app.Server.Transfer("~/HttpMoudle/UrlReWrite.aspx");
                }
            }
     
            public void EndRequest(object sender, EventArgs e)
            {
                HttpApplication app = sender as HttpApplication;
                //app.Response.Write("结束处理请求!");
            }
        }

    3.再次访问.html结尾的网址是,就会跳转到指定的页面,当然,也可以截取字符串,仅仅把.aspx替换为.html更好!

  • 相关阅读:
    加载db2的驱动类,连接数据库URL下的特定schema并插入数据
    vi修改编辑文件提示Write Error!(File System full?)研究与解决
    java实现一次性压缩多个文件
    java转义字符
    统计数字问题0
    系统开关机
    统计数字问题1
    算法的力量
    半数集0
    wBox是一款轻量级的弹出窗口插件
  • 原文地址:https://www.cnblogs.com/xyyt/p/3978846.html
Copyright © 2011-2022 走看看