ASP.NET伪静态实现

时间:2022-03-27 00:12:48

ASP.NET伪静态实现

在asp.net下,如何自己写代码来实现伪静态呢?如何重写url地址呢?

例如:本来aspx的页面地址是:/default.aspx?id=1,我要重写成这样:/index-1.html。那如何实现?

思路如下:利用HttpModule来实现。

 

1.新建文件,URLHttpModel.cs,并实现IHttpModule接口。代码如下:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text.RegularExpressions;
  5. using System.Web;
  6. namespace Web.HttpModel.Demo
  7. {
  8. public class URLHttpModel : IHttpModule
  9. {
  10. public void Init(HttpApplication context)
  11. {
  12. context.BeginRequest += Context_BeginRequest;
  13. }
  14. private void Context_BeginRequest(object sender, EventArgs e)
  15. {
  16. HttpApplication app = (HttpApplication) sender;
  17. HttpContext context = app.Context;
  18. string requestPage = context.Request.Path.ToLower();
  19. var newPattern = "/index-(\\d+).html";
  20. if (Regex.IsMatch(requestPage, $"^{newPattern}$", RegexOptions.None | RegexOptions.IgnoreCase))
  21. {
  22. string queryString = Regex.Replace(requestPage, newPattern, "id=$1", RegexOptions.None | RegexOptions.IgnoreCase);
  23. context.RewritePath("/Default.aspx", string.Empty, queryString);
  24. }
  25. }
  26. public void Dispose()
  27. {
  28. }
  29. }
  30. }

2.然后在web.config文件中,配置此Modeule,代码如下:

  1. <httpModules>
  2. <add name="URLModel" type="Web.HttpModel.Demo.URLHttpModel,Web.HttpModel.Demo"/>
  3. </httpModules>

3,然后运行项目,输入如下地址,/index-1.html,可以看到如下的效果:

ASP.NET伪静态实现

ASP.NET伪静态实现的更多相关文章

  1. ASP&period;NET伪静态的方法及相关资料

    1. 添加URLRewriter.dll引用 2. 配置web.config的基本信息 <configSections> <section name="RewriterCo ...

  2. 原创&colon;分享asp&period;net伪静态成目录形式iis如何设置

    服务器租用详解asp.net伪静态成目录形式iis如何设置: 一.首先介绍一下asp.net伪静态成html后缀iis如何设置的 iis6 伪静态 iis配置方法 图解 1.右键点击 要设置网站的网站 ...

  3. &lbrack;转载&rsqb;ASP&period;NET伪静态页面的实现和伪静态在IIS7&period;0中的配置

    ASP.NET伪静态 UrlRewrite(Url重写) 实现和配置 最近在写一个CMS的内容管理系统,需要用到一个伪静态方面的方法,在网上找了一下这方面的资料,现将这方面的资源记录一下. 本机环境: ...

  4. ASP&period;NET伪静态

    http://www.duote.com/tech/5/14543.html 三.伪静态的坏处 当然犹如一篇文章的作者所说的:"如果流量稍大一些使用伪静态就出现CPU使用超负荷,我的同时在线 ...

  5. ASP&period;NET伪静态 UrlRewrite&lpar;Url重写&rpar; 实现和配置

    核心提示:大家一定经常在网络上看到很多网站的地址后缀都是用XX.HTML或者XX.ASPX等类似静态文件的标示来操作的吧,那么大家有怀疑过他真的是一个一个的静态生成的文件么,静态文件的生成的优缺有好有 ...

  6. ASP&period;NET伪静态-无法读取配置文件,因为它超过了最大文件大小的解决办法

    一直都在使用微软URLRewriter,具体的使用方法我就不多说了,网上文章很多. 但最近遇到一个问题,就是当web.config文件里面设置伪静态规则过多,大于2M的时候,就报错:无法读取配置文件, ...

  7. 解决 asp&period;net 伪静态 IIS设置后 直正HTML无法显示的问题

    asp.net+UrlRewriter来实现网站伪静态,实现伪静态有一些好处,比如对于搜索引擎更好收录页面,还有一个好处就是隐藏了真实地址的参数,所以有独立服务器的朋友,配置IIS实现伪静态功能,挺不 ...

  8. ASP&period;NET伪静态配置

    一.下载URLRewriter.dll 二.在项目中添加URLRewrite的引用 三.配置webconfig 1.在<configuration>节点中添加: <configSec ...

  9. (转)ASP&period;NET 伪静态

    1.伪静态:http://www.cnblogs.com/Default.html 目的就是为了赢得更多的收入,至于真否,待SEOer 解答,正如文字所说,伪静态就是假的静态. 2.准备工作:下载Ur ...

随机推荐

  1. js高级应用

    特别板块:js跨域请求Tomcat6.tomcat7 跨域设置(包含html5 的CORS) 需要下载两个jar文件,cors-filter-1.7.jar,Java-property-utils-1 ...

  2. 初探数位dp

    数位dp有着很明显的特点,一般来说是给定区间[l,r]求满足某种条件区间中的数有多少个 朴素解法一般是O(n)的而n往往很大(10^8起步) 这时候我们就要想办法优化,于是就有了数位dp 数位有两个基 ...

  3. java 注解 学习

    周末闲来无事,想要研究一下注解方面的知识,曾经看过几次,都忘记了,这次学习下,而且写篇文章记录下, 1.元注解  元注解是指注解的注解.包含 @Retention @Target @Document ...

  4. 部分转载&lbrack;C&num;性能优化实践&rsqb;

    全文出处:http://www.infoq.com/cn/articles/C-sharp-performance-optimization 1.性能 主要指两个方面:内存消耗和执行速度.性能优化简而 ...

  5. networkx 学习

    import networkx as nx import pylab import numpy as np #自定义网络 row=np.array([,,,,,,]) col=np.array([,, ...

  6. Entity Framework 6 自定义连接字符串ConnectionString连接MySQL

    在开始介绍之前,首先来看看官方对Entity Framework的解释:Entity Framework (EF) is an object-relational mapper that enable ...

  7. AttributeError&colon; module &&num;39&semi;&lowbar;&lowbar;main&lowbar;&lowbar;&&num;39&semi; has no attribute &&num;39&semi;main&&num;39&semi;解决方法

    在终端运行.py文件时报错:AttributeError: module '__main__' has no attribute 'main' 原因:在PyCharm里运行python程序需要添加 i ...

  8. FP-growth算法发现频繁项集(一)——构建FP树

    常见的挖掘频繁项集算法有两类,一类是Apriori算法,另一类是FP-growth.Apriori通过不断的构造候选集.筛选候选集挖掘出频繁项集,需要多次扫描原始数据,当原始数据较大时,磁盘I/O次数 ...

  9. linux文件的硬连接和软连接

    建立软连接:ln -s 原路径 目标路径 原理示意图: 特点: 1.     相当于win中的快捷方式 2.     删除链接文件,源文件不受影响 3.     删除源文件,链接文件失效 4.     ...

  10. Add map surrounds using the SymbologyControl

    / Copyright 2010 ESRI// // All rights reserved under the copyright laws of the United States// and a ...