-
sql语句大全之浅谈URL重写 及 静态化
浅谈URL重写 及 静态化
大家好,欢迎关注我的个人blog!
1.url重写,首先我是先在Application_BeginRequest中捕获url重写了规则
1
2
3
4
5
6
7
8
9
10
11
|
protected void Application_BeginRequest(Object sender, EventArgs e) { string url = Request.AppRelativeCurrentExecutionFilePath; // Match match = Regex.Match(url, @"~/BookList2_(\d+)\.aspx" ); if (match.Success) { int id = Convert.ToInt32(match.Groups[1].Value); Context.RewritePath( string .Format( "/BookList2.aspx?categoryId={0}" , id)); } } |
盗用了大神写好的两个UrlRewrite类。。。
不敢独享,分享之...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
public class UrlRewriter : HtmlTextWriter { public UrlRewriter(HtmlTextWriter writer) : base (writer) { this .InnerWriter = writer.InnerWriter; } /// <summary> /// 重写基类的WriteAttribute()方法 /// </summary> /// <param name="name">要写的属性的名称</param> /// <param name="value">要写的属性的值</param> /// <param name="fEncode"></param> public override void WriteAttribute( string name, string value, bool fEncode) { if (name.ToLower() == "action" ) { var context = HttpContext.Current; if (context.Items[ "ActionRewrite" ] == null ) { value = context.Request.RawUrl; //原始路径 context.Items[ "ActionRewrite" ] = true ; //设置标记,已经重写action属性. } } base .WriteAttribute(name, value, fEncode); } } |
public class UrlRewriterControlAdapter:ControlAdapter { protected override void Render(HtmlTextWriter writer) { base.Render(new UrlRewriter(writer)); } }
黏贴至根目录,url重写搞定,原理性的东东,等待我看懂之后与大家说说 呵呵.... 看谁先看懂...
然后,我就开始了书籍详情页的页面静态化的工作。
2.页面静态化就好整点了,就是拼接字符串。最后按照一定的存放规则将生成好的html文件存放即可。
这里我用到了模板页的应用,注意模板页调用js css img 等文件的时候,记得写绝对路径,不然会报错,因为 相对路径已经找不到 这些文件了,因为以一定的规则来存放html页了。
然后,晚上回来反正闲着也是闲着看看url重写,一看微软有很简单的应用。有个UrlRewrite.dll组件可以轻松完成url重写的工作,于是乎,我就心血来潮,开始按照博客大牛的方法搞起了。
原来真的很简单,config里面添加规则就ok了。
但是,当我点击我生成的静态页的时候,就发生问题了。错误提示....
没有为扩展名“.html”注册的生成提供程序。可以在 machine.config 或 web.config 中的 <compilation><buildProviders> 节注册一个。请确保所注册的提供程序具有包含值“Web”或“All”的 BuildProviderAppliesToAttribute 特性。
哈哈,搞晕我...不懂原理的我,眼泪掉下来....
后来网上找了些许方法,都没搞定的我,将代码一一改了回去了。。。。
等待更牛B的人,前来解惑...
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式