ASP.NET教程:使用.ashx文件去除重复内容
TTP请求,经过一个有一个的HttpModule的“过滤/处理”,最终到达一个HttpHandle的“处理器”部分,HttpModule和HttpHandle就组成了一个“管道”,非常形象哟,呵呵。贴张图吧:
如果你对它还比较陌生的话,查看Page的源代码,你会发现,Page也实现了IHttpHandler,所以*.aspx文件是最常用的HttpHandle。但Page不仅仅是一个HttpHandler,它还嵌入了复杂的页面生命周期事件,所以从节约资源的角度考虑,很多时候我也可以使用自定义的、更轻量级的*.ashx文件(),来完成一些简单的工作。和生成一个txt文件类似,我们还可以生成验证码(jpg文件),xml文件等。 然后还要做的一件事就是进行URLRewrite:
这样,蜘蛛就会以为在网站的根目录下的确存在一个robots.txt文件。 2. 在需要屏蔽的页面META标签里加上 <meta id=“meta” name=“robots” content=“noindex,nofollow” /> noindex 意味着该页面不能被索引 nofollow 意味着该页面不能被“跟随”(将在SEO Hack中详细讲解) 这是静态页面的效果,如果需要动态生成,也相当简单:
meta中还可以指定description、keyword等,其技术实现是相同的。 那么,两种方式我们如何选择呢?我的一些建议: 1. 尽量使用robots.txt,这既能降低网站的负载(虽然很小,呵呵),因为蜘蛛查看了robots.txt文件之后,就不会再请求被屏蔽的相关页面了;而如果使用meta方式,蜘蛛必须先请求该页面,再做出不检索的判断,这时Http请求已经发出了,服务器端的资源就已经浪费了;另外,如果过多的meta屏蔽,也会使蜘蛛对网站产生不佳的印象,减少或放弃该网站的检索收录; 2. robots.txt文本的匹配时从左到右的,这里就没什么正则匹配了!所以有的时候,我们不得不使用meta方式了。如我们文章开始的URL: http://www.freeflying.com/blog/231.html http://www.freeflying.com/news/231.html 最后,再讲一些注意事项: 1. 不要在所有页面使用相同的Keyword和Discription,这是我们很容易犯的一个错误,虽然articles.aspx是一个页面,但加上url参数后,就变成了成千上万个页面,如果你在页面上写死了Keyword和Discription,那将使这成千上万个页面都是一样的Keyword和Discription! 2. 尽量避免使用基于URL的SessionID。ASP.NET在客户端禁用cookie的情况下,可以设置使用基于URL的SessionID,效果类似: http://www.freeflying.com/(S(c3hvob55wirrndfd564))/articles.aspx 作者:自由飞 原文链接:http://www.cnblogs.com/freeflying/archive/2010/02/21/1670758.html |
||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |