怎样控制iframe内嵌网页的位置

在日记静态页面嵌入jsp动态页面的一些总结和疑问中有一个问题如下:


1、页面菜单上部的用户信息是用iframe嵌入的,像下面:

   <!-- show user state with iframe framework -->

   <iframe frameborder="0" name="user_state" width="771" height="30"

scrolling="no" src="/common/userState.jsp"></iframe>

/common/userState.jsp是从当前session中取出用户的相关信息显示出来。

不过,我发现: 在firefox中位置不动的信息条在IE中却可以用鼠标上下移动,而且,始

位置在底部,还把字脚给挡住了,搞不懂怎么做了?

昨天,在把Dict.CN的部分免费学英语服务加在网站上的过程中,借鉴了iciba.com的多爱英文中的查词代码,把上面的代码改成下面这个样子,这样,在IE和firefox中这个iframe中的内容都能靠上正常显示了。如下:


<DIV><IFRAME border="0" marginWidth="0" marginHeight="0" src="/common/userState.jsp" frameBorder="no" width="771" scrolling="no" height="21"></IFRAME></DIV>

我不知道究竟是DIV的原因还是marginWidth或者marginHeight的原因,反正结果正常了。又是一个知其然不知其所以然的问题:)。

以后对这类技术还是应该进行系统的学习才是解决这些问题的根本。

把Dict.CN的部分免费学英语服务加在网站上

今天开始,我试着在用Dict.CN的部分服务:包括:划词、英语口语每日一句、中英文词及短语双向翻译。就是大家现在看到的本站每一网页的顶部那一排内容。Dict.CN他们的免费服务不止这些,完整的包括(摘自他们的使用帮助):

1. 在线拼音输入法

2. 在线Dict.CN机器人

3. QQ迷你门户

4. 划词助手-划遍天下网

5. 鼠标右键单词查询

6. Dict.CN站点划词翻译

7. Web API接口

8. 在您的主页上提供在线词典服务

9. 在您的博客上显示每日学口语的例句和发音

 

因为,Dict.CN的“中英文词及短语双向翻译”只适用于GB2312网页,在我的UTF-8网页上输入中文查询英文是乱码,不能工作。于是,我就把这个功能用iframe框架放在了一个GB2312的网页上,连带也把每日一句放进去了。因为那个划词翻译(也是可以中英文互译的)必须放在当前被翻译的页面中,所以就没有放进iframe框架内。

还有,如果为了避免加载速度影响整个网页的显示而采用原来使用的延迟加载技术(让del.icio.us不影响页面的加载(转帖)),好像划词翻译和每日一句就不会当鼠标移到上面而自动发音,不知道为什么。所以,就没有使用这种延迟加载技术。不过,现在来看,还没有看到Dict.CN因加载速度而影响整个网页加载的情况。服务的加载速度也许是这类网站发展壮大的关键因素之一,试想,你的服务和技术再好,却加载太慢,谁还有耐心等待你的优质服务?这也是这类网站要真正做大就必须想办法盈利的重大原因和前提之一。服务好-》盈利-》服务更好-》更盈利。。。,这才是这类网站(也许是更多的网站)做大做好,更好为网友服务的根本之道。

几个月前曾经试过的www.iciba.com的每日一句(在网站上显示每日一句>英语和在帖子中背单词),后来因为iciba的每日一句输出代码失效长达一个月以上就没有用了(取消了网站头部无效的金山词霸每日一句展示)。不过,金山词霸现在也专门推出了供其他网站调用资源的免费代码,包括(摘自他们的网站):

词典搜索

短句搜索

每日一句

每日 E文

即划即译

我不知道Dict.CN的服务究竟如何,也不知与iciba.com相比的优势和劣势,作为一个用户,我只用适合自己和适合上这个网站的朋友的服务。

附本站的用上述的Dict.CN的免费服务的代码,因为我是多个服务一起使用,就把每日一句中一个多余Dict.CN的链接去掉了(正常使用一般看不见这个链接,但是用linux下的w3m浏览器就看见了,而且在搜索引擎眼中这个链接应该是可见的),但是保留了查词功能中的Dict.CN的链接。实际上,Dict.CN的这个链接在我看来,从功能上的使用上来说仍然是多余的。但是,尊重Dict.CN的意见,特地保留了这个链接,也算是对Dict.CN为广大网友提供免费服务的赞赏吧:)。话又说转来,像单独的我们这样的小站,挂链接和不挂链接对Dict.CN也没有什么影响。Dict.CN只有取得许多网友的赞赏才能蓬勃发展,成为在线词典甚至在线英语学习的重量级网站。

下面是源码1:/common/dict.jsp,用<%@ include file="/common/dict.jsp" %>加在每一网页的顶部。


<table border="0" width="771" align="center">

<tr align="center">

<td width="105">

<span id="dict_status"></span>

<script src="http://dict.cn/hc/" type="text/javascript"></script>

<script type="text/javascript">

dictInit();

</script>

</td>

<td>

<DIV><IFRAME border="0" marginWidth="0" marginHeight="0" src="/common/dict_search.jsp" frameBorder="no" width="666" scrolling="no" height="45"></IFRAME></DIV>

</td>

</tr>

</table>

源码2:/common/dict_search.jsp


<%@ page contentType="text/html; charset=GB2312" %>

<html>

 <head>

  <title>

   Dict.CN english-chinese word search

  </title>

   <link rel="stylesheet" href="/common/web_font.css" type="text/css">

 </head>

 <body>

<table border="0" width="666" align="center">

 <tr align="center">

 <td>

 <span id="dict_daily">

 </span>

<script language="JavaScript" src="http://dict.cn/daily.php" defer="defer">

</script>

 </td>

 <td>

<form method="post" target="_blank"

action="http://dict.cn/search/">

<input maxlength=256 size=21 name=q><br>

<input type="submit" value="Look Up">

<a href="http://dict.cn" target="_blank">在线词典</a>

</form>

 </td>

 </tr>

 </table>

 </body>

</html>

上面的查词中有一个Dict.cn的链接,当我在linux的w3m浏览器输入了生词后按TAB键的焦点落在了链接上,而不是提交按纽。所以,我把这个链接移到了后面。我想,保留这个链接还是必要的。一是对Dict.CN意见的尊重,对他们服务的赞赏;二是这样做应该对他们的产品的推广有利,不管是从搜索引擎优化的角度还是让用户更好的记住他们:Dict.CN。一句话,Dict.CN在他们的网站上要求“定制效果时希望您能尽量保留在线词典的链接”是恰当的:)

百度和google对本站二度301重定向的反应

一个多两个月前,本站已经进行了一次301重定向,把域名www.learndiary.com和www.123go.org.cn用301重定向到了java.learndiary.com上,并把使用多个查询参数的url重定向了使用一个或两个参数的url。

昨天,我对本站的显示帖子的页面进行了静态化改造,于是,就来了又一次的301重定向。

今天,在百度中site:java.learndiary.com中没有什么变化。还是15,500,另外,我发现自从我做了上次的301重定向后,百度就停止了就本站进行新内容的索引。只有首页几天更新一次。我也不知道是不是301重定向的后果还是本站违反百度的相关规定。例如:最开始首页放入了超过200个链接,现在减下来了。或者,是否如有人说的,站上放太多google广告了?我这个是技术站点,放google的广告是特点所致。

从网站日志来看,Baiduspider还是在活动,比如:

从2006-12-16 04:26:28,890到2006-12-16 09:16:16,921共约5个小时,Baispider大约访问了80页面。这与重定向之前差太远,但是它还是要来的。不过,没有可能没把它访问的页面纳入搜索引擎结果,因为我近期的帖子用site:java.learndiary.com中搜索不到。

在上面的5个小时中,yahoo!大约访问了60页,google大约400页,sogou spider大约40页;不过sogou spider今天上午一直在活动。

针对于此,我将继续完善网站内容和提高用户的浏览体验并积极的查找应该是被百度惩罚了的原因。

这二度的301重定向后的第二天,我在google中site:java.learndiary.com还是1300多点,在这个数字上下维持了有半个月了,可能google的抓取规模在本站也就是这样的吧。

不过,不知道是不是可能有问题的301重定向(有的检测网站返回301,有的返回500)还是301重定向后的自然反应,今天看google的网站管理员工具我的网站 › http://java.learndiary.com/ › 摘要。发现:


索引状态: 

您网站的所有网页目前均未包含在 Google 索引中。

但是,还是像前面所提,site:java.learndiary.com没变什么。

下面是google报告的屏幕截图:

长尾理论和SEO及网络营销(转帖)

网站关键词的选择,也是反映网站的定位,最终效果是相关关键词在各大搜索引擎中的左侧排名的提高和相关用户的使用或消费行为。在本站的网站的定位方面我已经进行过两次变动了:

最初是没有多少考虑的,就是目标式的学习方式,以记日记的形式总结和分享目标和过程,这就是域名:www.learndiary.com的使用阶段(有一年多吧,参见:建设“学习日记”);

然后是想:学习只是一种手段,不是目的,人的成功才是目的,于是就重新定位为成功互助网站,以写日记的形式交流目标和过程,这就是域名:www.123go.org.cn的来历,用了几个月(参见:考虑更换学习日记的名称和域名  学习日记的新域名已经生效了www.123go.org.cn  “123行动!”定位再思考,能不能给个建议啊?);

然后是今年10月份,觉得上面的定位都太宽了,个人难以把握,由于各种原因,又找不来一起来创业的合伙人(虽然一直在努力考虑和进行这个事)。于是,再次定位为java学习分享平台,分享JAVA学习目标,分享JAVA学习快乐,这就是域名:java.learndiary.com的使用(参见:明确网站定位,增加学习日记目标分组功能)。

这个过程或许还将继续下去,下面转帖一篇zac的相关帖子作为参考。

转自:(长尾理论和SEO及网络营销 http://www.chinamyhosting.com/seoblog/2006/09/21/long-tail/

转帖正文:

××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

 

长尾理论和SEO及网络营销 2006年09月21日

回中国期间看完了近两年著名的The Long Tail, by Chris Anderson。

简单的说,所谓长尾理论是指,当商品储存流通展示的场地和渠道足够宽广,商品生产成本急剧下降以至于个人都可以进行生产,并且商品的销售成本急剧降低时,几乎任何以前看似需求极低的产品,只要有卖,都会有人买。这些需求和销量不高的产品所占据的共同市场份额,可以和主流产品的市场份额相比,甚至更大。

这个理论近一两年对电子商务及网络营销产生了非常深远的影响。完整读过这本书后,有一些感想和大家分享。

长尾理论和关键词选择

以前在谈到关键词选择的时候,也简单提到过长尾问题,但没具体解释。

在搜索引擎优化工作中,长尾理论最明显的表现就是关键词的选择。

现在的趋势是越来越多的SEOer不会把时间和精力局限在主要的目标关键词上,而会花很多时间进行关键词的扩展。

从我自己掌握的一些网站的情况看,稍微大一些的网站从那些长尾关键词(也就是搜索量不大,但数量和变化很多的关键词)得到的流量都占总网站流量的百分之五六十以上,虽然这些网站的主要目标关键词排名也不错。

对一些比较小的网站来说,由于长尾关键词不多,从主要关键词来的流量比例就上升。

得到的启示是,这些小的只专注于主要关键词的网站,浪费了不少机会。如果能增加网站内容,扩充关键词,流量必然会成倍增加。

长尾和利润

长尾理论是对20/80理论的颠覆。

根据对一些电子商务网站的统计,长尾产品和长尾关键词得到的流量,占总流量的百分之二十到三十,但是从长尾产品所得到的利润却有可能是一半以上。换句话说,以前所流行的所谓20%的客户或产品产生80%的利润这一观点,在互联网上被彻底颠覆。

原因可能有两方面,一是这些长尾关键词得到的用户,更容易被转化为付费客户。

举个例子,三个人分别搜索三个关键词,”律师”,”北京律师”,”北京遗产律师”。从统计上来说,搜索”北京遗产律师”的人要比搜索”律师”的人成为客户的概率要高很多。因为很明显,他已经在找具体的服务,而搜索”律师”的人想要找的信息到底是什么就很难讲了。

第二个原因是长尾关键词和长尾产品的成本要低的多。就像前面的三个关键词,想排在”北京遗产律师”的第一页,显然要比”律师”容易的多。

长尾理论和选择过多问题

前面曾经谈到过选择过多可能使用户最终不做选择。

在回中国期间想在当当网买一些关于育儿的书,搜索”育儿知识”,返回106本图书。几乎可以肯定,如果不是robin的太太曾经给我们推荐一本书,我不太可能去研究这106本书哪本更合适。

所以选择过多是长尾经济的一个天生特质,对商家来说,任务就是怎样帮助用户做出最好的选择。在这里甚至良好的分类,功能强大的搜索都远远不足够。我的感觉是,这类长尾网站需要有用户评论,用户打分,编辑评论,甚至对评论的评级等内容,来帮助其他用户做出选择。

以前在Amazon也买过书,每次都是读了用户评论之后才做出决定的。

作者: Zac

原载: 搜索引擎优化SEO每天一贴

版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

收藏本页到:

365Key | del.icio.us |

相关文章:

    * SEO在网站运营中的位置

    * 语义分析和搜索引擎优化

    * 谁是你的顾客?

    * 抓住一个方法,然后坚持!

    * 中英文垃圾邮件比较和网络商机

发表于分类目录搜索引擎优化SEO, 网站推广与网络营销 ||

“长尾理论和SEO及网络营销”6个评论

   1. jojo说:

      2006年09月22日 at 8:08 am

      英文好就是方便

      搜了下

      找到了中译版

      http://www.yeeyan.com/category/%e9%95%bf%e5%b0%be/

      🙂

   2. Zero说:

      2006年09月22日 at 11:25 am

      非常好,案例的分析都很不错,把长尾理论具体到一个网站来看,就是丰富内容,延伸主题谈及周边,

      但对于网上销售的用户推荐和打分至少在中国估计不够权威,因为托儿太多了。

   3. Robin说:

      2006年09月22日 at 11:29 am

      真的很有道理.我始终觉得分类广告是很有前途的.因为,每个人所提供的信息包含了大量的关键字,很多都是非主流关键字.但是确正好满足了访问者的需求.而这些关键字所带来的流量往往会超过主关键字带来的流量.问题主要是内容的质量往往不是非常的令人满意.

   4. james说:

      2006年09月22日 at 12:23 pm

      恩,寻找英文书籍中,不怕看不懂,就怕不肯看!嘿嘿。

   5. sun说:

      2006年12月14日 at 1:05 pm

      非常精彩!在看你这篇文章前,我曾想过吧网页的标签、标题具体定位在行业的具体服务或名称上,就像广告业务,我把标题和标签都设置成广告AE……。这个是不是能符合长尾理论呢?

   6. littlebat说:

      2006年12月16日 at 9:01 am

      >长尾理论是对20/80理论的颠覆。

      20/80的理论是经典的,个人感觉与长尾理论应该不违背。也许是它们的出发点和角度不一样。

      但是具体又说不上来,继续思考中…

×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

                                                                                            转帖完毕

怎样检测网址返回的头部信息状态码(比如是否301重定向)

我还没有发现哪个中文网站提供这个功能。

用 url header checker这三个单词作为关键字在google中我找到两个我主要使用的网址返回的头部信息状态码检测的网站。

http://web-sniffer.net/

http://www.webconfs.com/http-header-check.php

您把要检测的网址输入对话框中,提交后,这些网站就会告诉您这个网址返回的头部信息状态码

如果您的网址返回200 OK表示您的这个网址是正常的,要在网上推广的网址。如果一个相同的页面有两个或两个以上的网址都返回200 OK,那么其中多出来的网址会被搜索引擎看成复制内容的网页,要受负面影响甚至惩罚直至删除网站索引。

在上面的有多个200 OK码的情况下,您应该把多余的网址用301永久重定向到你要推广的网址(也就是在上面检测中返回状态码200 OK的网址),在上面的检测中,作了301重定向的网址应该返回301状态码;

还有一个重定向是302,它指的是临时的转向。具体您可以搜索一下相关内容。

在使用上面检测网站一个非常重要的地方就是:



且记:当您改变了网页的重定向,重新检测重定向效果时,一定要刷新一下检测页面。不然,显出的结果有可能是上次检测结果缓存在本地计算机的旧页面!!!

另外,关于301重定向,本站有下列几篇日记可供参考:

301重定向技术汇总(转)

JSP/servlet中<JSP:FORWORD>和response.sendRedirect ...

昨天去掉了网站的动态导航参数并做301定向

百度和google对本站301重定向的反应

混乱的日子

这几天的思维和行动都有些混乱了。

1、网页静态化整体方案;

2、JAVA学习日记到底使用http://www.learndiary.com/java/(主站二级目录)还是http://java.learndiary.com/(二级独立域名)?有点后悔见到zac的时间迟了那么一点点。否则,JAVA学习日记有可能采用二级目录;

3、防垃圾留言;

4、学习设计模式;

5、单位职称计算机考试又马上又来了,虽然我一天都摸计算机,可是都是用的linux,考试用的是windows系统,好多东西没摸,怕是忘了不少,到时考不过才丢人;

6、单位改革;

事情真多呀,虽然好多是自找的麻烦。

考虑的结果,因为未知和变数太多,所以:

1、仅首页静态化,做全站的jsp文件的网站地图,用jsp做也是为了以后的适应变动要灵活点,可以用程序的方式处理比如转向,过滤什么的;

2、保持二级独立域名不变,不然这个网站和我这个人都太善变了,而且这样问题也不是很大,变动是绝对的,静止是相对的。要变,以后有必要的时候再说。要不然,一直保持这个以JAVA学习为主的站也可以。以后假设开拓其它的领域就在www.learndiary.com做二级目录吧。JAVA是我的初恋情人,不妨给她点特殊地位;)

3、现在没必要写防垃圾留言,没人留言,就连垃圾都是渴望的呀:),有垃圾,说明别人看得起你这个站:)

4、5:暂时放慢,学习上以准备计算机考试为主;

6、车到山前必有路,未来是走出来的,不要太压在心上。

网站地图链接数目和形式及不同静态网页在seo上有无区别

在"搜索引擎优化排名SEO每天一贴"请教了zac关于网站地图链接数目和形式以及静态网页在seo上的效果有无区别。得到解答如下:

摘自:SEO问题解答


  68.  littlebat说:

      2006年12月8日 at 7:16 pm

      zac,您好。

      请问两个问题:

      1、网站地图(即像您网页右下的那个Sitemap)可以放多少链接合适?

      比如,我的站有1000多网页(以后或许更多,比如几十万;)),可不可放在一张网站地图上?

      如果放在一张地图上不好,有两种方式可以放:一是分成几张平行的地图,比如4张,并排放在网页下方;二是在网页下方放一张目录性质的网站地图,然后每个目录又链接到一个下一层次的网站地图;

      2、对于静态网页*.htm,*.html,*.jsp在SEO上哪个要好一点点?我知道您认为:http://www.chinamyhosting.com/seoblog/2006/08/07/seo-questions/

      这样的还要好一点点,不过我问的是上面几种后缀名的比较。

      我问*.jsp的静态网页是因为在*.jsp中可以作一些程序的处理,比如:中文户包含中文的网页提示文字(像按纽文字),非中文用户包含英文的网页提示文字(内容相同)。

  69. Zac说:

      2006年12月9日 at 4:04 am

      littlebat: 最好不要放链接超过100个。你说的第二种处理(分层次)比较好。

      文件后缀名对SEO没有影响。

不知怎么搞的,系统的邮件发送系统突然失效

今天,我玩意中发现系统的邮件发送系统失效了。也就是说别人订阅了的邮件收不到。

我怀疑是申请的免费的邮箱对这种利用他们的邮箱发邮件有了限制。但是不确定。明天把学习日记自己的邮箱重新启用作邮件发送邮箱试试。

原来,因为学习日记发的邮件常被别的邮件系统当成垃圾邮件(不被其它大的邮件系统信任吧?),所以改用tom.com的邮箱。可是今天不管是tom.com和126.com的邮箱均不能完全的正常工作了。现在想起来,应该用自己的邮箱,就算是被识别为垃圾邮件,也是自己的东西。而且,如果真的有朋友愿意订阅我们的邮件,只要把我们的发送邮箱加入他们邮箱的白名单就行了吧。

*************************************************

补充,这时(距上面的发文半小时后),我才发现可能是tom.com的免费邮箱接收邮件系统出了故障,不能及时收取信件了。因为我把接收学习日记的邮箱改为另一个邮箱后就收到了。而且,我们这个系统的测试帐号的那个邮箱也能收到。明天再看看那些邮件会不会来。

javax.servlet.UnavailableException

今天,我改了几个类文件上传到虚拟空间,应用自动重启不能成功。在log中报告:


2006-12-07 21:25:37,578 - Initializing application data source dataSource

org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (User xyz has already more than 'max_user_connections' active connections)

at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:855)

at org.apache.commons.dbcp.BasicDataSource.setLogWriter(BasicDataSource.java:598)

at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:808)

at org.apache.struts.action.ActionServlet.init(ActionServlet.java:335)

at javax.servlet.GenericServlet.init(GenericServlet.java:82)

at com.caucho.server.http.Application.createServlet(Application.java:3114)

at com.caucho.server.http.Application.loadServlet(Application.java:3065)

at com.caucho.server.http.Application.initServlets(Application.java:1923)

at com.caucho.server.http.Application.init(Application.java:1849)

at com.caucho.server.http.VirtualHost.startApplication(VirtualHost.java:1207)

at com.caucho.server.http.VirtualHost.getInvocation(VirtualHost.java:1007)

at com.caucho.server.http.ServletServer.getInvocation(ServletServer.java:1249)

at com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:343)

at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:274)

at com.caucho.server.TcpConnection.run(TcpConnection.java:139)

at java.lang.Thread.run(Thread.java:595)

Caused by: java.sql.SQLException: User xyz has already more than 'max_user_connections' active connections

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2928)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:771)

at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1229)

at com.mysql.jdbc.Connection.createNewIO(Connection.java:2558)

at com.mysql.jdbc.Connection.<init>(Connection.java:1485)

at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)

at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37)

at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)

at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:877)

at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:851)

... 15 more

2006-12-07 21:25:37,593 - connect fail in CallHtml.callOnePage()!

2006-12-07 21:25:37,593 - excute manager.deleteExpiredRecords() 1 times.

于是,我连接mysql查看当前活动连接数(show porcesslist;)确实达到了空间的最大活动连接数。

然后,只要一进入*.do形式的链接均在页面上报告上面相似的错误。也不知道是我上传的类文件是否触犯了Struts框架哪根神经?

上网用出现错误的关键字查了一下,其中有一篇http://mail-archives.apache.org/mod_mbox/struts-dev/200312.mbox/%3C20031204011632.14053.qmail@nagoya.betaversion.org%3E 上面的话:“Struts missing commons-dbcp and commons-pooling jar files.”启发了我。于是,我把lib中的那个:commons-pool-1.3.jar移走了。然后,我再输入*.do的链接,错误信息变了,为:


2006-12-07 22:11:07,765 - Unable to initialize Struts ActionServlet due to an unexpected exception or error thrown, so marking the servlet as unavailable.  Most likely, this is due to an incorrect or missing library dependency.

java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool

at java.lang.Class.getDeclaredConstructors0(Native Method)

at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)

at java.lang.Class.getConstructor0(Class.java:2640)

at java.lang.Class.newInstance0(Class.java:321)

at java.lang.Class.newInstance(Class.java:303)

at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:143)

at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:805)

at org.apache.struts.action.ActionServlet.init(ActionServlet.java:335)

at javax.servlet.GenericServlet.init(GenericServlet.java:82)

at com.caucho.server.http.Application.createServlet(Application.java:3114)

at com.caucho.server.http.Application.loadServlet(Application.java:3065)

at com.caucho.server.http.Application.initServlets(Application.java:1923)

at com.caucho.server.http.Application.init(Application.java:1849)

at com.caucho.server.http.VirtualHost.startApplication(VirtualHost.java:1207)

at com.caucho.server.http.VirtualHost.cron(VirtualHost.java:1359)

at com.caucho.server.http.ServletServer.cron(ServletServer.java:1940)

at com.caucho.server.http.ServletServer.handleCron(ServletServer.java:1774)

at com.caucho.util.Cron$CronThread.evaluateCron(Cron.java:199)

at com.caucho.util.Cron$CronThread.run(Cron.java:163)

2006-12-07 22:11:07,812 - connect fail in CallHtml.callOnePage()!

2006-12-07 22:11:07,812 - excute manager.deleteExpiredRecords() 1 times.

看来,应用已经有反应了(先前是没有任何反应,改变类文件也没反应,log信息一点不变。我又不能手动重启位于虚拟主机上应用,因为他们还暂时不提供这个功能),于是,我再把那个commons-pool-1.3.jar加进去。然后,系统成功自动重启,log信息如下:


2006-12-07 22:12:16,187 - Enter updateCache!

2006-12-07 22:12:21,609 - connect success in CallHtml.callOnePage()!

2006-12-07 22:12:21,609 - excute manager.deleteExpiredRecords() 1 times.

我也不知道是什么原因,就这样糊里糊涂的出问题,又糊里糊涂的解决了问题:)

301永久性重定向和302临时性重定向的研究(转帖)

转自:301永久性重定向和302临时性重定向的研究

301永久性重定向 和 302临时性重定向 的研究

作者:快速胡萝卜 日期:2006-08-09

字体大小: 小 中 大

先简要说一下

重定向就是网页自动转向

301永久性重定向

302临时性重定向

实施301后,新网址完全继承旧网址,旧网址的排名等完全清零。

实施302后,对旧网址没有影响,但新网址不会有排名。

详情见下文。

301 Redirect 永久重定向的实现

  在我们的网站建设中,时常会遇到需要网页重定向的情况:象网站调整,如改变网页目录结构,网页被移到一个新地址,再或者,网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户还会得到一个404页面错误信息,访问流量白白丧失;再如某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点,等等。

  常用的重定向方式有: 301 redirect, 302 redirect 与 meta fresh:

  301 redirect: 301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。

  302 redirect: 302代表暂时性转移(Temporarily Moved ),在前些年,不少Black Hat SEO曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度,象Google前些年对Business.com以及近来对BMW德国网站的惩罚。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。

  meta fresh: 这在2000年前比较流行,不过现在已很少见。其具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短(约5秒之內),会被判断为spam。

    页面永久性移走(301重定向)是一种非常重要的“自动转向”技术。

  301重定向可促进搜索引擎优化效果

  从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法。当网站的域名发生变更后,搜索引擎只对新网址进行索引,同时又会把旧地址下原有的外部链接如数转移到新地址下,从而不会让网站的排名因为网址变更而收到丝毫影响。同样,在使用301永久性重定向命令让多个域名指向网站主域时,亦不会对网站的排名产生任何负面影响。

  302重定向可影响搜索引擎优化效果

  迄今为止,能够对302重定向具备优异处理能力的只有Google。也就是说,在网站使用302重定向命令将其它域名指向主域时,只有Google会把其它域名的链接成绩计入主域,而其它搜索引擎只会把链接成绩向多个域名分摊,从而削弱主站的链接总量。既然作为网站排名关键因素之一的外链数量受到了影响,网站排名降低也是很自然的事情了。

  综上所述,在众多重定向技术中,301永久性重定向是最为安全的一种途径,也是极为理想的一款解决方案。

  对于正确实施301重定向,本人整理了以下方法可供大家参考:

  1. Apache服务器实现301重定向

  a. 相比较来说,Apache实现起来要比IIS简单多了。在Apache中,有个很重要的文件.htaccess,通过对它的设置,可以实现很多强大的功能,301重定向只是其中之一。

  Redirect permanent / http://www.yourdomain.com ;将目录下内容重定向到http://www.yourdomain.com/

  redirect permanent /old.html http://www.yourdomain.com/new-url/ ;将网页old.html内容重定向到http://www.yourdomain.com/new-url/

  通过合理地配置重定向参数中的正则表达式,可以实现更复杂的匹配。有兴趣的朋友可参考Apache手册。

  b. 采用“mod_rewrite”技术。

  通过该技术进行的改变将在.htaccess文件中体现出来,形如:

  Options +FollowSymLinks

  RewriteEngine on

  RewriteCond %{HTTP_HOST} ^yourdomain\.com

  RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]

  2. 适用于使用Unix网络服务器的用户

  通过此指令通知搜索引擎的spider你的站点文件不在此地址下。这是较为常用的办法。

  形如:Redirect 301 / http://www.yourdomain.com/

  3.在服务器软件IIS服务器实现301重定向

  * 打开internet信息服务管理器,在欲重定向的网页或目录上按右键

  * 选中“重定向到URL”

  * 在对话框中输入目标页面的地址

  * 切记,记得选中“资源的永久重定向”

  * 当然,最后要点击“应用”

  适用于使用Window网络服务器的用户

  4.绑定/本地DNS

  如果具有对本地DNS记录进行编辑修改的权限,则只要添加一个记录就可以解决此问题。若无此权限,则可要求网站托管服务商对DNS服务器进行相应设置。

  DNS服务器的设置

  若要将aaa.domain.com指向www.domain.com,则只需在DNS服务中应增加一个别名记录,可写成:aaa IN CNAME www.domain.com。

  如需配置大量的虚拟域名,则可写成::* IN CNAME www.domain.com.

  这样就可将所有未设置的以domain.com结尾的记录全部重定向到www.domain.com上。

  5. 用ASP/PHP/.net实现301重定向:

  ASP:

  Response.Status="301 Moved Permanently"

  Response.AddHeader "Location","http://www.vc01.com/"

  Response.End

  PHP:

  header("HTTP/1.1 301 Moved Permanently");

  header("Location:http://www.vc01.com");

  exit();

  ASP .NET:

  <script runat=”server”>

  private void Page_Load(object sender, System.EventArgs e)

  {

    Response.Status = “301 Moved Permanently”;

    Response.AddHeader(”Location”,”http://www.vc01.com”);

  }

  </script>

  配置完成后,要认真检查一下是否正确。Internet有很多Server Header检查工具

以下为非关键参考:

*************************************************

网站重定向成祸端(从Business.com遭封看302重定向编译:Karen)

  Business.com是网上最大的商业搜索引擎和分类目录,以专业提供商业信息而享负盛名,包括近19万网页。若以“business”为关键词在 Google中进行搜索,该网站名列第一。不过在9月5日,Business.com遇到一件蹊跷之事:它的首页由PR8变成了PR0, 而且 Google搜索结果中找不到首页。好在被“蒸发”的只是首页,不过庆幸的是第二天首页又回到了Google的搜索结果,但PR仍旧为0。

  Business.com的问题出在它的重定向命令上。该网站让business.com跳转到www.business.com,这种重定向本该是永久性的。我们知道,301属于永久性重定向,而302则属于临时性重定向,只有当一个网站或网页在24到48小时之内临时移到其它位置的情况下才能使用该命令。但Business.com却错误地使用了“HTTP/1.1302 Object Moved”状态码。

  其实网站重定向极为普遍,譬如不满意原来的域名而申请了一个新域名;买下容易被人错拼的域名,防止客户因为拼错URL而找不到网站,等等。可是,很多人却会由于使用了错误的重定向状态码而遭“灭站之灾”,就象Business.com。尽管他们的重定向理由充分合理,然而若使用不当,则可能被Google误认为是利用多个域名指向同一网站,那么你的网站就会被封掉,罪名是“利用重复的内容来干扰Google搜索结果的网站排名”。Business.com就是最好的前车之鉴。只不过大多数使用错误重定向参数的网站没Business.com这么幸运,一个小小的重定向就可能使网站前功尽弃,只能从头来过:重新申请新域名,重新发布新网站,等等。记住:Google绝不会同情任何人即使无心犯下的错误。

*************************************************

网站服务器响应网页浏览请求的运作流程

  让我们先来了解一下用户/搜索引擎和网站一开始的交互流程。当用户或搜索引擎向一个网站服务器发出网页浏览请求时,该服务器将:

  1.通过域名服务器(DNS)将域名转换为网站的IP地址,然后返回给客户

  2.打开一个该IP套接口连接

  3.记下通过该套接口的一个HTTP数据流

  4.从WEB服务器接收一个响应请求的HTTP数据流。该数据流包含状态码,状态码的值由HTTP协议所决定。  这里所说的“HTTP数据流”信息也叫“头信息(Header)”。头信息中包括了日期,服务器类型,通常还会有一条“200 OK”信息。如果一切良好,那么网络服务器就会将 “200 OK”信息以及请求页面发送出去。如果网站在这时候已经建立了重定向,那么服务器就会在头信息中包含一个 “302 Moved Temporarily”或“301 Moved Permanent”之类的响应信息。搜索引擎会根据服务器头信息中的内容作出决定。

*************************************************

网站重定向的注意事项

  1.若准备将服务器上的文件移到其它地方时,须就以下信息正确地通知搜索引擎的爬行程序:

- 目标地址:这些文件被移向何方

- 移动属性:暂时移走还是永久性移走

  2.对拥有多个域名的网站,专家建议应把那些不想在搜索引擎上推广的域名用301跳转命令来永久性重定向。

*************************************************

资深SEO专家Dan Thies的看法和建议

  对于Business.com所遭遇的问题Dan Thies深有体会,因为他也有过类似的遭遇。他的网站上有一个会员跟踪脚本,其中一个会员的站点通过302命令映射到这个跟踪脚本,而这个跟踪脚本又是通过302映射到他的主页。当在Google中用“keyword research”进行搜索,他的主页排名在前十位,然而地址显示的却是那个会员的网址。结果使他哭笑不得:访问者通过Google搜索结果进入他的网站,而他却不得不为这些访问量给那个会员支付报酬! 后来他用robots.txt文件禁止Spiders跟踪访问他的会员跟踪脚本才算解决了问题。

  对于Business.com,Dan Thies认为:“目前Google在302重定向"的处理上还存在一定的问题,但并不表示Google不允许302重定向。Business.com并未遭封或遭到惩罚,它们只是返回了错误的响应。”

  Dan Thies建议:如果使用了跟踪URL/脚本,又必须让访问者重定向到某一着陆页,那么一定要在robots.txt文件中禁止Spiders 去访问第二个重定向。如果没有对跟踪URL/脚本进行重定向,而只是把另外一个URL上的内容给复制过来,那么应在robots.txt文件中禁止 Spiders去访问跟踪URL,以防因内容重复而遭搜索引擎惩罚。引自:21cnbj:从Business.com遭封看302重定向

*************************************************

302转向与网址劫持

  302转向或者302重定向(302 redirect)指的是当浏览器要求一个网页的时候,主机所返回的状态码。302状态码的意义是暂时转向到另外一个网址。

  另一个更常见的状态码是404错误(404 error),404错误或404状态码指的是网页不存在。

  另一个和302状态码相关的是301重定向(301 redirect),301重定向指的是本网页永久性的转移到另外一个位置。301和302的区别就在于301是永久性重定向,302是暂时重定向。

  302重定向和网址劫持(URL hijacking)有什么关系呢?这要从搜索引擎如何处理302转向说起。从定义来说,从网址A做一个302重定向到网址B时,主机服务器的隐含意思是网址A随时有可能改主意,重新显示本身的内容或转向其他的地方。大部分的搜索引擎在大部分情况下,当收到302重定向时,一般只要去抓取目标网址就可以了,也就是说网址B。

  实际上如果搜索引擎在遇到302转向时,百分之百的都抓取目标网址B的话,就不用担心网址URL劫持了。

  问题就在于,有的时候搜索引擎,尤其是Google,并不能总是抓取目标网址。为什么呢?比如说,有的时候A网址很短,但是它做了一个302重定向到B 网址,而B网址是一个很长的乱七八糟的URL网址,甚至还有可能包含一些问号之类的参数。很自然的,A网址更加用户友好,而B网址既难看,又不用户友好。这时Google很有可能会仍然显示网址A。

  由于搜索引擎排名算法只是程序而不是人,在遇到302重定向的时候,并不能像人一样的去准确判定哪一个网址更适当,这就造成了网址URL劫持的可能性。也就是说,一个不道德的人在他自己的网址A做一个302重定向到你的网址B,出于某种原因,  Google搜索结果所显示的仍然是网址A,但是所用的网页内容却是你的网址B上的内容,这种情况就叫做网址URL劫持。你辛辛苦苦所写的内容就这样被别人偷走了。

  302重定向所造成的网址URL劫持现象,已经存在一段时间了。不过到目前为止,似乎也没有什么更好的解决方法。在正在进行的大爸爸数据中心转换中,302重定向问题也是要被解决的目标之一。从一些搜索结果来看,网址劫持现象有所改善,但是并没有完全解决。

  如果你遇到你自己的网站网址被劫持的时候,在你自己这一方面并没有什么办法,你只能向Google汇报。 作者: Zac原载: 搜索引擎优化每天一贴。

*************************************

以上文章为本人整理十多篇文章的成果,多处具体细节本人能力之内无法尝试,各部分原出处也已无法标明,见谅。有问题给我留言,大家一起研究研究。