asp.net制作让搜索引擎可以友好访问的链接
2005-01-24 02:51
316 查看
很多的时候我们在进行查询的时候,总是会以这样的链接方式传递参数:
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中,可以利用Application的BeginRequest的事件进行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是不是也使用了这样的机制呢?
原文请访问这里。http://www.stardeveloper.com/articles/display.html?article=2004022801
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中,可以利用Application的BeginRequest的事件进行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是不是也使用了这样的机制呢?
原文请访问这里。http://www.stardeveloper.com/articles/display.html?article=2004022801
相关文章推荐
- ASP.NET 制作让搜索引擎可以友好访问的链接
- ASP.NET 制作让搜索引擎可以友好访问的链接
- ASP.NET 制作让搜索引擎可以友好访问的链接
- 利用ASP.NET操作IIS (可以制作安装程序)
- 怎样让ASP.NET制作的网站在手机上全屏浏览,适合在手机上访问呢?
- asp.net在表格中动态生成一个可以链接到另外一个页面的图片
- 让别人也可以访问你电脑上的ASP.NET MVC创建的网站
- 调整ViewState的位置,让你的asp.net页面对搜索引擎更友好
- 让别人也可以访问你电脑上的ASP.NET MVC创建的网站
- [ASP.NET]制作一个简单的多页Tab功能 -Ajax也可以按照这个来做
- ASP.NET中实现访问链接的静态地址映射
- 让ASP.NET MVC不使用jsonp也可以跨域访问
- Code36 在ASP.NET运行中生成搜索引擎友好的URL
- 【商业版】C# ASP.NET 通用权限管理系统组件源码中的数据库访问组件可以全面支持Access单机数据库了
- asp.net 2.0中可以访问head了
- 利用 ASP.NET3.5(ASP.NET4.0) 的路由功能创建搜索引擎友好的 URL
- 解决Asp.net生成网站localhost可以访问而127.0.0.1和本机IP错误400的问题
- 使用asp.net编译web项目时,localhost可以访问,127.0.0.1不能访问
- asp.net的session mode的inproc改为StateServer,网站不可以访问
- asp.net的网址重定向方法的比较:面向搜索引擎友好