ASP.NET 制作让搜索引擎可以友好访问的链接

作者:http://www.donews.net/lealting/archive/2004/03/31/9759.aspx

今天看了一篇文章,主要是讲,如何制作让搜索引擎可以友好访问的链接,大概的内容是这样的:很多的时候我们在进行查询的时候,总是会以这样的链接方式传递参数:

http://www.yoursite.com/query.aspx?typeid=2

这个链接大家看得很明白,就是我希望查看typeid=2的相关记录的信息。

 

但是这有个问题就是,搜索引擎的spider进行URL解析困难,因为它不太会理解这种带有参数的方式。

如果希望,每个typeid所对应的数据库查询的结果都能够被搜索引擎轻易的进行收录,我们或许需要写成这样的连接方式。

http://www.yoursite.com/pagetype1.aspx

http://www.yoursite.com/pagetype2.aspx

依次类推。

按照通常的想法,这就需要写n个这样的页面了,相当的繁琐。

 

不过在ASP.NET中,可以利用ApplicationBeginRequest的事件进行URL的转换[将静态的页面url的形式转换为带参数的动态页面url],就可以轻易的解决这样的问题了。请看如下的代码:

protected void Application_BeginRequest(object sender, EventArgs e)
      
      
      
      
{
      
      
       HttpContext incoming = HttpContext.Current;
      
      
       string oldpath = incoming.Request.Path.ToLower();
      
      
       string pageid; // page id requested
      
      

   
   
    
     
   
   
       //利用正则表达式对url进行解析
     
     
       Regex regex = new Regex(@"page(/d+).aspx",  RegexOptions.IgnoreCase |
      
      
                RegexOptions.IgnorePatternWhitespace);
      
      
       MatchCollection matches = regex.Matches(oldpath);
      
      

   
   
    
     
   
   
       if(matches.Count > 0) 
      
      
       {
      
      
                //如果满足条件,则进行改写,生成相应的带参数的url方式。
     
     
                pageid = matches[0].Groups[1].ToString();           
      
      
                incoming.RewritePath("Process.aspx?pageid=" + pageid);
      
      
       }
      
      
       
      
      
}
      
      

 

接下来就是需要做一个对应的动态页面了。

<%
      
      
       string pageid = Request.QueryString["pageid"];
      
      
       // Create the page content based on this pageid taken here
      
      
%>
      
      

 

可以来访问一下我做的测试页面。请自己修改page后面的数字。

http://lealting.europe.webmatrixhosting.net/page11.aspx

http://lealting.europe.webmatrixhosting.net/page22.aspx

 

我想我们使用的blog是不是也使用了这样的机制呢?

 

原文请访问这里

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值