基于动态页面的静态页面实现
2007-04-16 16:09
393 查看
只需要在Global.asax加上几行代码就行了,我们是通过捕获用户的请求,然后通过RewritePath来实现的:
这是我程序中的一段代码,它就负责把上面的那些请求转化为真正的页面请求,
我们是通过正则表达式来区分各种类别的请求的:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
string url = Request.Url.AbsoluteUri ;
string strMatch = @"http://www/.2shoushichang/.com/([^/]+)/" ;
string newUrl = "" ;
string strCmd = SplitInfo(url,strMatch) ;
if (strCmd != null)
{
switch(strCmd.ToLower())
{
case "product":
strMatch = @"/product/(/d+)/.aspx" ;
string strProductId = SplitInfo(url,strMatch) ;
if (strProductId != null)
{
newUrl = string.Format("..//Product.aspx?id={0}",strProductId) ;
this.Context.RewritePath(newUrl) ;
}
break ;
case "midtype"://s-100100-All-2.aspx
strMatch = @"/midtype/(/S+-/d+-/S+-/d+)/.aspx" ;
string strResult = SplitInfo(url,strMatch) ;
if (strResult != null)
{
string[] strParam = strResult.Split('-') ;//MidtypeList.aspx?id=100100&city=威海&type=s&Page=3
if (strParam.Length != 4)
break ;
string city = AppGlobal.GetCityNameByCode(strParam[2]) ;
newUrl = string.Format("..//MidtypeList.aspx?type={0}&id={1}&city={2}&page={3}",strParam[0],strParam[1],city,strParam[3]) ;
this.Context.RewritePath(newUrl) ;
}
break ;
case "其它处理":
break;
default:
break ;
}
}
}
这是我程序中的一段代码,它就负责把上面的那些请求转化为真正的页面请求,
我们是通过正则表达式来区分各种类别的请求的:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
string url = Request.Url.AbsoluteUri ;
string strMatch = @"http://www/.2shoushichang/.com/([^/]+)/" ;
string newUrl = "" ;
string strCmd = SplitInfo(url,strMatch) ;
if (strCmd != null)
{
switch(strCmd.ToLower())
{
case "product":
strMatch = @"/product/(/d+)/.aspx" ;
string strProductId = SplitInfo(url,strMatch) ;
if (strProductId != null)
{
newUrl = string.Format("..//Product.aspx?id={0}",strProductId) ;
this.Context.RewritePath(newUrl) ;
}
break ;
case "midtype"://s-100100-All-2.aspx
strMatch = @"/midtype/(/S+-/d+-/S+-/d+)/.aspx" ;
string strResult = SplitInfo(url,strMatch) ;
if (strResult != null)
{
string[] strParam = strResult.Split('-') ;//MidtypeList.aspx?id=100100&city=威海&type=s&Page=3
if (strParam.Length != 4)
break ;
string city = AppGlobal.GetCityNameByCode(strParam[2]) ;
newUrl = string.Format("..//MidtypeList.aspx?type={0}&id={1}&city={2}&page={3}",strParam[0],strParam[1],city,strParam[3]) ;
this.Context.RewritePath(newUrl) ;
}
break ;
case "其它处理":
break;
default:
break ;
}
}
}
相关文章推荐
- Asp.Net基于动态页面的静态页面实现
- 基于动态页面的静态页面实现
- Asp.Net基于动态页面的静态页面实现
- 基于动态页面的静态页面实现
- 【转】G 优化(SEO)基于动态页面的静态页面实现
- 基于动态页面的静态页面实现
- 基于动态页面的静态页面实现
- 基于Python,Selenium和PhantomJS实现动态页面爬取
- 【移动端】基于rem实现手机端页面自适应--动态改变dpr和font-size
- 实现ASPX页面动态转静态
- Nginx SSI 静态html页面 动态引入其它页面 实现页面区块化 设置
- 使用nginx+tomcat实现静态和动态页面的分离
- 基于C#实现12306的动态验证码变成静态验证码的方法
- 在jsp下,一个实现将动态页面转为静态的方案
- 在jsp下,一个实现将动态页面转为静态的方案
- 项目视频讲解_基于LigerUI前端技术实现的管理平台(纯静态页面,json,工作流及权限管理)
- jsp实现将动态网页转换成静态页面的方法
- js 实现 静态缓存页面中访问动态IP下载地址
- 如何用C#实现动态页面aspx的静态html转换
- jsp实现将动态网页转换成静态页面的方法