新闻动态
新闻动态
- php如何是用define让他起到全局的常量的作用
- 谈域名包含关键词的作用
- SQL Server 2000各种对象的最大值(数量或大小)
- 淘宝中的ROI是指投资回报率,也叫投入产出比,即总成交金额/花费
- 购买成功的一口价域名还在售卖页面显示
- vs中无法启动IIS Express Web服务器的解决办法
- EntityFrameWorkCore 一对一、一对多和多对多模型的建立
- String和StringBuilder
- HTML 标准属性
- 品牌企业网站建设的3个关键关键点
联系我们
邮箱:
手机:15383239821
asp.net
dtcms模板引擎
作者:
发布时间:2019-11-25
点击:
URL重写,实质上是将网页真实URL隐藏起来,使用户通过相应的虚拟URL访问网页资源,以便克服真实URL的许多不足。IIS Rewrite的工作原理请看下图:

DTcms的HttpModule类位于DTcms.Web.UI项目下,它是整个站点的URL请求的核心,每次URL发起的请求都会经过它负责重写分配。我们可以从站点下的Web.config文件中看到一个如下的节点:
<httpModules> <add type="DTcms.Web.UI.HttpModule, DTcms.Web.UI" name="HttpModule" /> </httpModules>

无论你想获得网站的一个页面或者是一张图片,都会经过HttpModule这个类处理,它就像是作战的总指挥,它负责分配每个HTTP请求的去向。
DTcms的URL重写表达式
DTcms的URL重写表达式,我们暂且称它为URL字典。我们在后台所做的一切修改,都会保存在一个XML文件中,它位于DTcms.Web项目的xmlconfig文件夹下的urls.config文件。当然,为了性能和效率有所提升,系统将会读取该文件中的内容进行续存,当文件进行修改时,续存自动更新。
Rewrite属性说明:
| 属性 | 说明 | 示例 |
|---|---|---|
| name | 该条URL重写表达式调用的名称,该属性值不允许重复,一般在前台模板做链接时使用到。 | <%linkurl(“news_list”)%> |
| type | 系统会根据页面类型做不同的URL重写处理,也会根据页面类型继承不同的类。 | 可选值有:
|
| page | 后台生成模板时,读取模板文件经过解析后,保存成aspx动态页面的文件名。 | news_list.aspx |
| inherit | 后台生成模板时,在保存成aspx动态页面时,头部要继承的类名,全局限定名。 | DTcms.Web.UI.Page.article_list |
| templet | 后台生成模板时,该aspx页面对应的模板文件名,系统自动寻找该模板文件读取内容。 | news_list.html |
| channel | 该条URL归属的频道名称,系统会自动生成,无需手动填写,如果不属于频道则可以忽略该属性。 | news |
item子节点属性说明:
| 属性 | 说明 | 示例 |
|---|---|---|
| path | URL重写表达式 {0}表示第一个参数的值{n}表示第N个参数的值 | news/{0}/{1}.aspx <!—表示有两个参数--> |
| pattern | URL重写正则表达式 和path是对应的,只不过上面用的是{n}表示,而这里用(正则表达式)表示 | news/(\d+)/(\w+).aspx <!—对应两个正则表达式分组--> |
| querystring | 该URL所带的参数 参数名称=$1,$1表示第一个参数的值,如有多个参数用^连接起来。 | category_id=$1^page=$2 <!—第一个参数是类别ID,第二个参数是分页页码--> |
新闻资讯
-
2013-06-10颜色大全:颜色名称和颜色值。色板、色板对照表1
-
2011-04-09ASP.NET 中的“外部组件发生异常”错误解决过程
-
2023-05-24服务器mp4视频无法播放如何解决
-
2023-03-09EF Core的实体类配置
-
2011-02-19HTTP 错误 403.9 - 禁止访问:连接的用户过多?怎样解决这种问题?
-
2023-09-23Thinkphp .htaccess文件设置伪静态
相关案例
