|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Java欺骗了我们那么多年,如今的多核时代,我认为它气数已尽!</p>分歧的链接指向的页面假如具有大批不异的内容,这类征象就会被称为“反复内容”,假如一个网站的反复内容良多,搜刮引擎就会以为这个网站的代价不高。以是我们应只管制止各类反复内容。
静态网站的反复内容经常是由URL参数引发的,而URL重写会好转这一征象(对照耐人寻味哟,呵呵)。由于假如利用的是原始的URL参数的话,搜刮引擎大概会举行得当的判别,而得知反复内容是由URL参数引发的,主动的举行响应的处置;而URL重写会掩饰URL参数,反而使得搜刮引擎没法辨认URL参数。好比:
原始的URL:
http://www.freeflying.com/articles.aspx?id=231&catelog=blog
http://www.freeflying.com/articles.aspx?id=231&catelog=news
经由URL重写事后的URL:
http://www.freeflying.com/blog/231.html
http://www.freeflying.com/news/231.html
这些URL所指向的页面内容实际上是一样的,都是id=231的那篇文章,但这篇文章被blog和news两个栏目所援用,出于各类缘故原由的思索,我们终极的URL仍是如上所示。
处置的举措有两种,一种是使用呆板人(robot)协定“扫除”个中一个,另外一种是经由过程301将个中一个URL永世重定向另外一个URL。
明天我们先讲robot协定。复杂的讲,robot指的就是搜刮引擎,针对Google,我们又将其称之为“蜘蛛(spider)”。蜘蛛是很有规矩的,在抓取你的网页内容的之前,会起首收罗你的定见。而你和robot之前就基于robot协定举行相同。详细到完成,有两种体例:
1.将一个的robots.txt文本增加到网站根目次下,如:
#staticcontent,forbidallthepagesunderthe"Admin"folder
User-agent:*
Disallow:/Admin
#行暗示正文;
User-agent指搜刮引擎,*暗示针对一切搜刮引擎,也能够指定详细的搜刮引擎,如User-agent:googlebot;
Disallow指定不同意会见的目次或页面,注重:1.此文本是巨细写敏感的;2.必需以“”开首,暗示网站根目次;
和本系列的主旨一样,我们侧重谈ASP.NET手艺。以是更多的robots.txt文本的注重事项,请检察http://www.googlechinawebmaster.com/2008/03/robotstxt.html
但我们怎样静态的天生这个文件呢(这类需求实在蛮多的)?大概我们即刻想到的就是I/O操纵,在根目次下写一个txt文件……,但实在还能够有一种办法:利用一样平常处置程序(.ashx文件),代码以下:
<%@WebHandlerLanguage="C#"Class="Handler"%>
usingSystem;
usingSystem.Web;
publicclassHandler:IHttpHandler{
publicvoidProcessRequest(HttpContextcontext){
HttpResponseresponse=context.Response;
response.Clear();
//response.ContentType="text/plain";假如要用IE6检察页面的话,不克不及这一条声明,缘故原由
//上面这两句在实践利用中应当数据库等静态天生
response.Write("User-agent:*
");
response.Write("Disallow:/news/231.html
");
//援用一个静态的robots文件内容,内里存储不会改动的屏障内容
response.WriteFile("~/static-robots.txt");
response.Flush();
}
publicboolIsReusable{
get{
returnfalse;
}
}
}
一样平常处置程序完成了IHttpHandler,在后面UrlRewrite部分中,我们讲到了HttpModule,实在在ASP.NET的使用程序性命周期中,有一个称之为“管道(pipeline)”的观点:一个HTTP哀求,经由一个有一个的HttpModule的“过滤/处置”,终极抵达一个HttpHandle的“处置器”部分,HttpModule和HttpHandle就构成了一个“管道”,十分抽象哟,呵呵。贴张图吧:
<p>J2EE比较成熟一点,一些比较出名的企业应用软件都是基于J2EE的。以后的发展就不好说了。不过java比较烦,学.net的话,微软把很多工具都封装好了,学起来可能容易一点。 |
|