Url重写隐藏网页路径技术

        Url重写:

实质上是将网页真实的Url隐藏起来,使用户通过虚拟的Url来访问资源,以弥补真是Url的许多不足;

作用:

(1)满足搜索引擎的需要,实现搜索引擎排名的优化

(2)隐藏网页实现技术,增强网站安全性

(3)提高网站的安全性和实用性

(4)Url支持 "可删减"的需求

下面通过代码来了解Url重写的使用方法

1、再一个Webform窗体有两个a超链接标签,her进行Url的跳转并再后端获取它对应的编号

复制代码
<body>
    <form id="form1" runat="server">
        <div>
            <a href="Good_1.html">服装</a><!--数字表示商品的类型编号-->
            <a href="Good_2.html">美食</a>
        </div>
    </form>
</body>
</html>
复制代码

2.在新建一个Webform窗体,用于跳转到的目标窗体,窗体名称可以随便取名

 随后在第二个窗体的后端进行编写

复制代码
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //获取页面传过来的id
               int value= int.Parse(Request["id"]);
                //输出
                Response.Write("你访问的类型编号是" + value + "的商品列表");
            }
        }
复制代码

3、新建一个类,并实现IHttpModule接口,在声明请求处理事件

复制代码
 //实现IHttpModule接口
    public class UrlrewriteModeul : IHttpModule
    {
        public void Dispose()
        {
            throw new NotImplementedException();
        }

        public void Init(HttpApplication context)
        {
            context.BeginRequest += context_begingRequest;
            //设置完这里后到Web.config中去配置文件
        }
        //声明请求处理事件
        void context_begingRequest(object sender,EventArgs e)
        {
            //将HttpApplication获取到
            HttpApplication app = sender as HttpApplication();
            //获取原始的Url
           string Url=app.Request.RawUrl;
            //运用正则表达式
            Regex regex_request = new Regex(@"\w+\d\.html");//需导入System.Text.RegularExpressions命名空间
            //判断格式是否符合要求
            if (regex_request.IsMatch(Url))
            {
                //符合条件后,进行截取
                int line = Url.LastIndexOf("_");//找到下划线处
                int dot = Url.LastIndexOf(".");//找到点处
                //根据—_和.,将编号取出来
                string id = Url.Substring(line + 1, dot - line - 1);
                //根据id值,拼接真正的Url
                string directUrl = "~/Home.aspx?id=" + id;
                //用app.Server.Transfer定向到另一个URl上面去
                app.Server.Transfer(directUrl);

            }
        }
    }
复制代码

4.设置Web.config配置文件

 <!--Url重写配置文件-->
  <system.webServer>
    <modules>
      <add name="url" type="Url重写.UrlrewriteModeul"/><!--项目名称.接口类-->
    </modules>
  </system.webServer>

 这是运行结果

 Good_.html其实就是一个伪Url路径是虚拟的,只是通过它来访问真实的资源路径,这样就可实现网页URl的隐藏

 

posted @   花是花树是树  阅读(478)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示