暗 的个人资料暗影灵感工作室照片日志列表更多 工具 帮助

日志


2008/3/26

关于打开方式出错的解决办法

今天收到邮件里面的jpg副本,点上去直接打开居然是pdf格式的工具,一直出错,保存下来点右键想更改打开方式,但是却出错无法更改,网上搜了下,找到一个方法,可以更改注册表来达到恢复打开方式的目的。
 
新建个文本文件,把下面的统统复制进去
 
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Unknown]
"AlwaysShowExt"=""
"QueryClassStore"=""
[HKEY_CLASSES_ROOT\Unknown\shell]
@="openas"
[HKEY_CLASSES_ROOT\Unknown\shell\openas]
[HKEY_CLASSES_ROOT\Unknown\shell\openas\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,25,00,53,\
00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,\
79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,65,00,6c,00,6c,\
00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,4f,00,70,00,65,00,6e,00,41,00,\
73,00,5f,00,52,00,75,00,6e,00,44,00,4c,00,4c,00,20,00,25,00,31,00,00,00
 
接着把txt后缀改成.reg 双击后就修复完成,很方便哦
2006/5/9

个人站点提高访问量谋略

这是一个吸引人的话题,同时也是最难解决的问题。这需要一些经验,有些人曾经无数次尝试改变,但发现计数器上的0还是最多,要突破你想要的界限,需要某种指导。因为总有人走在你前面,他们的成功可能是偶然的,但更多是他们不停的实践任何的想法。即使失败,一些经验就会被积累。而成功有时来自那些经验,所以,我只想说说我的经验,下面就开始。。。。。。

一.改造你的站点

主页的设计需要一些技术,而更多的是对整个网络的了解,即使你投入了非常大的精力,但只是获得了失败,这就是现在许多非常优秀的个人主页还默默无闻的道理。所以我们要努力改造自己的站点,使得它产生更多吸引力,而这又是提高访问量的关键,不好的站点,没有人会喜欢。当我们在开始改造自己站点的时候,

请回答以下问题:

1.站点的定位是什么?
2.那些人应该是你的访客?
3.你想让别人得到什么?
4.什么会使得访客再次来?
5.站点上有那些会使得访客逗留?

请仔细考虑以上的问题。

我们拥有自己的站点,是因为自己想获得别人的肯定或者寻找某种机遇,而还有的人只是为了兴趣爱好。不管处于什么目的,你都会把站点规划成某种类型,比如新闻或者文学,而选择好的类型是站点成功的第一步。

目前有两种类型:第一种,为别人,即提供大多数人喜欢的内容;第二,为自己,即把自己喜欢的内容提供给别人。而这两种类型中,第一种更容易获得大家的青睐。

当你定位好自己的站点类型后,就要考虑那些人该是你的访客。其实这个问题在定位网站类型时,已经作了回答,如果你选择文学类型,那么爱好文学就会是你的访客,之所以要知道谁是你的访客,是因为在确定了访客喜好后,可以更有信心去提供合适的内容。

有人说过,要让一万个人访问你的站点,是很容易的,但想让这一万个人再访问你的站点,就会很难。所以,你要思考,是什么会使得访客再次来。每天更新,还是内容独特,下面是笔者的经验:

1.华丽的页面
尽量使用最新的WEB技术来设计你的页面。因为即使内容是站点的关键,但没有好的视觉享受,会使得访客有枯燥无味的感觉,但在使用新技术时,不要凌驾于访客之上,尽量与每一个人的系统兼容;

2.随时更新
一个长时间不更新的站点,没有人会喜欢,所以,要随时更换站点上的内容,哪怕只是变化一个图片;

3.有价值的内容
网络上,获取信息变得十分容易,所以如果你的站点能经常提供有价值的信息,将更能吸引访客,而如果你只是照搬别人的信息,时间长了,就会令访客感到厌倦;

4.网站速度快
作为个人站点,在选择免费空间服务器时,要选择速度快的,而不是连接超时了,还没有见到半点动静的服务器;

5.交互的内容
越来越多的访客希望有互动的内容,他们不想只是看,还想动动手,在你的站点上加点什么,所以,增加一个BBS或者聊天室,这些都会提高站点的流量。改造站点是提高站点访问量最关键的一步,没有好的站点呈现给访问者,再做什么也是惘然。

二.访客来自那里

一个站点的流量由两部分组成,一部分为固定的访客,另一部分是新的访客。固定的访客是站点流量固定增加的保证,而新的访客是站点流量随时增加的保证。一般来说,固定访客的来源是书签,也就是访客把你的站点作上了标记,以便下次的访问。而新的访客就会来自网络的四面八方了,可能是其它站点的连接或者在搜索引擎搜索到的,总之,考虑访客来自那里,可以确定自己的宣传策略是否成功。

过去,想知道自己站点客源的分布是件不可能的事情,而随着相关免费服务的推出,使得我们可以随时了解站点的访问情况。目前国内两大流量分析站点网易和热讯都能提供相关的服务,但因为设置的不同,使得两个站点在分析同一个站点时,发生结果相差很远的情况。所以,当我们在选择国内此类服务时,最好再申请一个国外同样的服务,这样,结果相对来说正确些。

流量分析服务能让我们确定访客是如何找到站点的,而另外的访客为什么没有找到你的站点。比如,当你把站点登陆到搜索引擎后,通过分析没有发现访客来自那里,那么你要确定自己的站点是否成功的列在搜索引擎目录里,如果发现没有自己的站点,那么,你就可以重新进行登记。

三.注册到搜索引擎

把站点注册到搜索引擎是每一个人都会做的,但却没有人真正了解这样做是否真有效。以笔者的经验,即使你把站点注册到搜索引擎里,也并不能提高站点的流量,可能的机会是,当有一万次搜索时,搜索到你网站点并进入的机会只可能会是1次,更有可能一次机会都没有,我并没有夸张。我们要了解一下注册的技巧,而不是简单的告诉搜索引擎我在那。

搜索引擎分为两种,一种为人工登记,比如yahoo,另一种为自动登记的,这是目前最多的类型。人工登记,就是靠人把站点的资料输入数据库,它的好处是目录会清晰明了,相对来说内容较少,但被搜索到的机会就会增加。而自动登记的站点,内容十分丰富,但这样一来,搜索时,会把不相关的站点也搜索出来。这两种站点,对于我们来说,都可以利用,但要知道一些技巧。

在这里,我要提议的是,如果你的站点是中文的,最好登记到中文的搜索引擎里去。因为这样被找到的机会就能增加不少,而中文搜索引擎站点,首推yaoo,可能你觉得yahoo中文有点不尽人意,但因为它的品牌深入人心,所以访问者非常多。而且它目前所含的内容不丰富,这样,当你把站点成功登记到YAHOO后,被发现的机会要比其它站点多。但有一点我们要注意,在登记站点时,不要把站点归类到个人站点项目里,而要归类到专业的类别,比如新闻或者音乐,因为个人站点所包含的内容太多,而其它专业项目相对来说,内容少得多。这一点要记住。

就像上面提到的,一个搜索站点可能会包含十分多的内容,这样,当你搜索某一个站点时,会搜索出成千上万个,而更多的站点已经埋没在了后面。怎样提高自己站点的排位变成了成功登记的关键,因为即使你登记到一个搜索站点上面,但被排在了后面,那么,一点效果都没有,这种情况在自动登记的站点出现的多些。对于提高站点的排位是件值得研究的问题,而网络上也出现了为站点提升排位的服务,当然是有代价的,但我们要记住第一位只能有一个。

四.META的利用

META标签的作用是提供有关HTML文档信息,而它所包含的内容并不出现在网页上。有很多网页制作者很少注意这个标签,因为它并没有影响网页的外观,即使把它删除不用。META最大的作用就是提供搜索引擎关于本站的描述关键字,简单的说,当搜索站台的机器人搜索到你的网站时,会首先检查META所描述的关键字,然后把这些关键字加入到数据库中。所以,利用好META标签会让你在搜索引擎中被搜索到的机会增加。

META标签的用法是这样的:
<metaname=KeywordsCONTENT=关键字,关键字,关键字>

在CONTENT处,你尽可能把热门的关键字列出在这里,即使你网页上并不包含这些内容。虽然,这种做法感觉上有点"欺骗",但值得放心的是,我们只是欺骗机器人,所以,放心加入最热的关键字,比如Clinton(克林顿),这里还有个技巧,你可以重复某一个关键字,这样可以提高自己网站的排行位置,
如:<metaname=KeywordsCONTENT=china,china,china,china>

不过,我还得提醒你,现在新式的搜索引擎不在关注META标签了,可能它们发现了那个欺骗,所以,机器人避开了,只是来扫描你的网页,并把出现最多的词作为关键字,或者把网页顶部的词作为关键字,这样,META失去了作用,怎么办,其实,这没有问题,我们还有更多的方法"欺骗"机器人。

因为目前的搜索引擎多数会扫描你的整个网页,这样你可以把热门的关键字放到网页上,这样,每个人都能看到关键字了,当然包括机器人,我们要设法把关键字隐藏到网页里面,怎样做,很简单,把关键字与背景颜色弄成一致即可。

还有一个更好的方法,制作一个网页,把你知道的关键字全部放到这个网页上,想怎么放就怎么放,因为这一页只是给机器人看的,你可以利用以上两种方法设置关键字。要记住,你要做一个链接,连接到你的网站,这样做是最好的方法,因为你可以尽可能提供机器人最全,最好,最热的关键字,而这一页并没有人看到。

五.广告的交换

广告交换被许多网站利用,但即使利用了广告,也没有带来更多访客,原因在那呢。

首先,我们来看第一种广告交换,即个人之间,这是目前最多的广告交换。许多个人站点互相交换着LOGO,很容易就建立了一个连接。但可惜,有些连接没有起到作用,所以,很多个人站点提出了几个条件,第一,访问量相当;第二,首页交换。显而易见,这种做法是对的。以笔者的经验,当与一个个人站点交换连接时,对方把我的LOGO放到了友情连接一页,而不是首页,很奇怪,友情连接那一页包含了许多其它的交换LOGO,与我意料中一样,没有一个访客来自那里。所以,过了几天,我提出了上面两个条件,效果的确好。

接下来,就是所谓商业广告交换了,提供这种服务的地方有很多,国内的,国外的,交换的规则很简单,表面上是很公平的,我没有更多的技巧给你,只是提醒你,选择一个最热的广告交换商,这是个很简单的技巧,但并没有人注意。

六.获得一个奖励

一些组织提供我们一些机会,让我们获得某一个奖励,一些顺序被确定,第一名,第二名,而参加者都想排在第一位,这样能增加曝光度,而这非常符合站点的宣传策略,让更多的人知道你,获得一个好奖励将给你更多机会,网站访问量或其它什么。 对于奖励,大型组织所给的奖励,更吸引人,因为它们能让你有更多的机会曝光,可能是在报纸,杂志,或者电视上,这种奖励,我们都要争取得到它,即使你没有能力取得第一,但只要在它们那里,总有点机会给你。

而对于网络,我们更多趋于参与与网络有关的活动,比如网页制作比赛,网络知识比赛,虽然这种活动并不是很多,但只要有,你就要去参与,即使感觉上有点困难,但只要做了,总会有点收获。

七.更多的经验

还有更多的经验,但是它们只需要简单的实践,就能产生效果,试试吧。

利用电子邮件签名,每天都要与其它人交流,比如在BBS或者EMAIL,这里我们都要利用到签名,你可以加入自己的URL地址,而邮件程序会自动转换成链接,所以,收件人会很容易连接到你的网站。

邮件列表,有许多邮件列表可以参加,你可以参加某一个热门邮件列表,然后试着发表你的讨论,当你的讨论内容被其它人适应的时候,就可以开始宣传你的个人主页了,在这个邮件列表里的人都可以看到你所发表的消息,包括你的URL。记住,别一开始就说出你的网站在那里。

印刷出你的URL,如果你能够投稿到某些传统媒体,那么你可以要求在刊登你文章的同时,附带上你个人主页的URL,传统媒体的宣传面是很广泛的,在一般情况下,印刷媒体不会轻易消失,别人拿起来就可以看见。

新闻组发言,新闻组与邮件列表有点相似,但新闻组比起邮件列表来,它所覆盖的空间更大,你只需要使得自己发言更吸引人,那么你的URL也会同时被人访问。

宣传语言的使用,在任何地方宣传自己站点时,永远记住告诉访问者,在你那能得到什么。比如你的站点是软件下载,那么告诉别人,来我这有最新的软件下载,这样当别人访问你的站点时,发现的确是如同你说的一样,而不要说一套,做一套,即使你能让别人来一次,网上信誉也很重要,用符合站点特点的语言,而不是夸大。

结尾

对于提高自己站点的访问量,最有效的办法是,在做好站点的同时,不放过每一次的宣传机会,永远记住,即使是滴水也能装满瓶子,而当我们容易看到某些经验时,要实践它并转换成自己的经验,如果一味相信,生硬照搬,可能不会带来你所期望的结果,好,今天就到这里。

站长必看:google引擎研究

Google一说
网友经常有这样的反映:我的网站提交Google很长时间了,怎么就是找不到我的网页呢?有些对 搜索引擎工作原理不熟悉的人甚至认为,只需将网页做好,上传到网站空间,就会自动登陆搜索引擎。


  对后一种情况可以打个比方,就好象一个人自生下来就成了孤儿,而且又一直独处,不跟任何人接触,突然有一天却愤愤不平地说,为什么谁都不认识我!?网站也是同样,你不进行宣传和推广,它就象茫茫网海中的一座孤岛,被人发现的机会几乎没有。


  前一种情况稍好些,至少知道要将网站提交到Google,这种做法在几年前也许有效,但现在就不够了。可以这么说,网站链接是搜索引擎存在的基础。从全文搜索引擎工作原理中可以看出,搜索引擎是依*跟踪各网站间的链接来找到网站和抓取网页信息的,如果网站都相互独立,搜索引擎的工作效率、所提供信息的广度和质量都会大打折扣。


  对Google而言,链接可是它的"命根子",也是它成功的关键。所以Google一有机会就向你灌输这样的观念:出去找链接吧,不然你的网站是不会被我们接受的。Google曾在一次搜索引擎学术会议上说明了收录网站的最低标准,即当你向Google提交网址时,至少要保证已有一个外部链接。实际上如果网站的外部导入链接足够多的话,你根本用不着直接将网址提交给Google(而且Google也不建议你这么做),这样反而会更快地被Google收录。


  现在我们知道了链接在登陆Google时的作用,下面介绍一下获得外部链接的方法。在介绍之前,有必要先将有关链接的概念澄清一下:


  外部链接: External Links。本网站外部的链接,一般是指其他网站连到本网站的链接。
  内部链接: Internal Links。本网站内部网页之间的链接。
  反向/导入链接: Backward Links或Incoming/Inbound Links。意义与"外部链接"接近,指其他网站连到本网站的链接。
  导出链接: Outgoing/Outbound Links。指从本网站连到其他网站的链接。


  * 获得外部链接的方法


  1、将网站提交到门户网站


  获得外部链接最简单的方法是将网站提交到各大门户网站,目前 搜狐、 新浪、 网易都提供收费网站登录服务,收费从几百到数千元不等。虽然需要一定的投入,但网站推广的角度说,这是必须付出的代价,而且大型门户上的链接会让你更快地登陆Google引擎,同时还可改善网站在Google上的 排名。


  2、与其他网站交换链接


  前面说过网站的外部反向链接越多,被Google找到的可能性就越大,因此你可以向其他网站申请交换链接。


  3、将网址提交到其他的类型网站


  这方面与通常意义上的网站推广策略是相吻合的,为了提升网站的访问量,我们可以将网址加到行业门户站点、网上论坛,留言簿等等各种允许添加网址链接的地方,这样也会增加Google找到我们的机会。


  * 在寻找外部链接时应注意的问题


  一般情况下,更多的网站外部导入链接会让你更快地登陆Google搜索引擎,但这并不意味着你可以不求策略地与任何网站建立连接,其中要遵循几个基本原则:


  1、链接对象是否已被Google收录


  在寻找连接网站时有一个基本原则,就是首先确认目标网站是否已被Google收录,主要是看该网站是否有PageRank得分,而且分值越高越好。


  2、链接对象是否被Google惩罚


  如果某个网站被Google惩罚,而你却与它建立链接的话,不仅无助于登陆Google,相反会被殃及池鱼,你的网站也可能被Google惩罚。


Google排名的意义:
根据Jupiter MediaMetrix 2002年公布的统计数据,79%的互联网用户依靠搜索引擎获取信息,信息搜索成为仅次于电子邮件的互联网第二大应用。而在众多搜索引擎当中,Google以其庞大的搜索量,快速而精准的搜索结果和极高的知名度成为搜索引擎的代名词,因此自然成为企业网站推广的首选。
Google排名优化:
优化的方式形形色色,一般无外乎按照一定的关键词,通过对网站结构,页面因素和外部链接的优化,使网站得到最佳的搜索引擎排名。但事实上我们发现,有一些网站由于采取了不正确的优化策略,不但未能有效提升网站的排名,反而使网站排名惨跌甚至遭到搜索引擎删除。在此我们列出被Google明令禁止的属SPAM性质的优化技术供大家借鉴。
一:隐藏文本/隐藏链接
一般指网页专为搜索引擎所设计,但普通访问者无法看到的文本内容或链接。在形形色色的隐藏技术中,最常见的就是把文本或链接文字的字体颜色设置为与背景色相同或十分接近。

隐藏文本内容(Invisable/hidden text)
意欲在不影响网站美观的前提下通过包含大量关键词的网页提高关键词相关性得分,从而达到改善搜索引擎排名的目的。

隐藏链接(Invisable/hidden links)
意欲在不影响网站美观的前提下通过在其它页面添加指向目标优化页的隐形链接,通过提升链接得分而改善搜索引擎排名。
现在大多数搜索引擎都能检测隐藏技术,并视为作弊。因而包含隐含文本的网页面临被搜索引擎降低排名甚至删除列表的惩罚。虽然在Google上不乏使用隐形技术而侥幸逃脱的网站,但多数人还是认为不值得冒这个险。其实通过添加可视文本内容并保证一定的关键词密度可达到相同的优化效果。

二:网页与Google描述不符
一般发生于先向搜索引擎提交一个网站,等该网站被收录后再以其它页面替换该网站。"诱饵行为(Bait-&-Switch)"就属于此类偷梁换柱之举--创建一个优化页和一个普通页,然后把优化页提交给搜索引擎,当优化页被搜索引擎收录后再以普通页取而代之。

三:误导性或重复性关键词

误导性关键词(Misleading Words)
在页面中使用与该网页毫不相干的误导性关键词来吸引查询该主题的访问者访问网站。这种做法严重影响了搜索引擎所提供结果的相关性和客观性,为搜索引擎所深恶痛绝。

重复性关键词(Repeated Words)
这种作弊技术也被称为"关键词堆砌欺*(Keyword Stuffing)",它利用搜索引擎对网页正文和标题中出现的关键词的高度关注来对关键词进行不合理的(过度)重复。类似的其它做法还包括在HTML元标识中大量堆砌关键字或使用多个关键字元标识来提高关键词的相关性。这种技术很容易被搜索引擎察觉并受到相应惩罚。 四:隐形页面(Cloaked Page)
对实际访问者或搜索引擎任一方隐藏真实网站内容,以向搜索引擎提供非真实的搜索引擎友好的内容提升排名。

五:欺*性重定向(Deceptive redirects)
指把用户访问的第一个页面(着陆页)迅速重定向至一个内容完全不同的页面。

"鬼域(Shadow Domain)"
这是最常见的欺*性重定向技术,通过欺*性重定向使用户访问另外一个网站或页面。一般利用HTML刷新标识(Meta Refresh)来实现。大多搜索引擎都不会索引使用该标识的页面。如果你使用刷新标识来检测浏览器或分辨率,那么就请使用&#106avascript,且尽可能延长重定向时间。如果一定要使用重定向功能,那么请务必确保刷新周期不少于10秒钟。

还有一种情况就是当用户打开一个网站,该网站声称其网站已移至新域名下,并请用户点击新域名链接进入网站。但当用户进去后才发现,这个链接是一个"会员"链接。这也属欺*性重定向行为。

六:门页(Doorway Page)
也叫"Bridge/Portal/Jump/Entry Page"。是为某些关键字特别制作的页面,专为搜索引擎设计,目的是提高特定关键词在搜索引擎中的排名所设计的富含目标关键词的域名,且重定向至另一域名的真实网站。搜索引擎的Spiders往往忽略对那些自动重定向到其它页的页面的检索。

七:复制的站点或网页
最常见的当属镜象站点(Mirror Sites)。通过复制网站或卬页的内容并分配以不同域名和服务器,以此欺*搜索引擎对同一站点或同一页面进行多次索引。现在大多数搜索引擎都提供有能够检测镜象站点的适当的过滤系统,一旦发觉镜象站点,则源站点和镜象站点都会被从索引数据库中删除。

八:作弊链接技术/恶意链接(Link Spamming)
典型的作弊链接技术包括:

链接工厂(link farms)

大宗链接交换程序(bulk link exchange programs)

交叉链接(Cross Link)

"链接工厂"(亦称"大量链接机制")指由大量网页交叉链接而构成的一个网络系统。这些网页可能来自同一个域或多个不同的域,甚至可能来自不同的服务器。一个站点加入这样一个"链接工厂"后,一方面它可得到来自该系统中所有网页的链接,同时作为交换它需要"奉献"自己的链接,籍此方法来提升链接得分,从而达到干预链接得分的目的。如今搜索引擎发现它们已然不费吹灰之力。只要发现,不管属有意还是无意,"链接工厂"中的所有站点都难逃干系。

九:其它

日志欺*行为
通过对一些页面等级较高的站点进行大量的虚假点击以求名列这些站点的最高引用者日志中,从而获得它们的导入链接。Google已然意识到这种行为并将对利用这种途径获得导入链接的站点采取相应措施。

门域(Doorway Domain)
专为提高特定关键词在搜索引擎中的排名所设计的富含目标关键词的域名,然后重定向至其它域名的主页。由于搜索引擎一般忽略自动重定向至其它页的页面的检索,所以不提倡使用这种技术。


什么是PageRank?
PageRank是Google衡量网页重要性的工具,测量值范围为从1至10分别表示某网页的重要性。在Google工具栏可以随时获得某网页的PageRank值。在这里我们将透视PageRank的一些特殊之处,从而对其能够获得较为深入的了解,使广大用户能够更好的使用和了解Googel。

  网站 排名的历史渊源

  上世纪90年代早期网络刚刚兴起之时,每天都有大量的含有特别行业内容的站点发布于网上。网上冲浪者却没有相应的工具定位这些他们认为存在的,但是却没有办法找到域名或网址的站点。到了1993年,雅虎诞生了。雅虎的诞生为网民减轻了这些烦恼。雅虎最初将每一个它所找到的网站,按照所属的分类目录进行划分组织,建立起一个整洁的、可以逐级查找的数据库,雅虎同时也在网站上置入一个 搜索引擎可以根据数据库中存在的"关键词"搜索到网站。接着其他搜索引擎如Altavista ,Excite, Lycos等也相继推出供用户使用的搜索工具。他们中的大多数是根据找到的元标识中的关键词来识别网站的相关性。
  
  事情好像发展地很顺利,但是当站主及网管意识到可以在元标识中插入行业关键词或其他站点代码,就可以巧妙的得到搜索结果页面上的较高的位置的时候问题来了。有一段时间,搜索引擎的结果被这些垃圾网站搞得乱七八糟,他们用某些相关的关键词充斥于网站的各个角落,可是展现在用户面前的实际内容确实糟糕透顶。那些信用较高、地位重要的搜索引擎开始受到挑战,他们必须采取更好的措施精确为用户输出的搜索结果。

  Google网页级别祥解

  Google意识到了传统搜索引擎所面临的这种问题。如果相关性有网管来控制的话,那么排名结果必将被他们人为安排的大量相关关键词所污染,掩蔽了真正的相关性。

  网络的本质就是超链接。我们从逻辑上分析,每个人都让自己的网站与某些重要的站点相链接,那么,本质上,这个站点就投了对方的一票。当上百上千个站点链接到这个站点时,我们认为这个站点是一个很好的很重要的站点也就非常符合逻辑了。

  就是在这样的逻辑推理下,Google的两位创始人Sergey Brin及Larry Page建立了一个搜索引擎算法公式,即将排名比重转移到了网页意外的因素上。他们的公式被命名为"PageRank"(以创建人Larry Page的名字命名)。Google就是利用这一公式计算链接到某一网页的网站数量,然后按照从1-10分别给予表示重要度的分数。链接到网页的站点越多,PageRank的分数越高。

  Sergey Brin和Larry Page在1998年把PageRank技术配置进Google一同推出。结果出乎的成功。Google这种难以认为控制的算法公司得出的出众的相关结果大大超过了竞争对手。这种新的算法不仅有助于提供出权威的高质量的信息,而且使得站主即网管很难利用作弊手段取得较高排名。

  Google的PageRank之所以如此重要,就是因为影响网页排名的因素主要是依赖于网页意外的因素,而非能够认为操纵的因素。

  Google对PageRank的解释

  在Google网站上有一个专门的域名介绍PageRank(http://www.Google.com/technology/)

  PageRank完全依靠的是网络的民主特性,利用大量的链接结构表明某个单独页面的价值。本质上来说,Google把链接转换为一次投票,当从网页 A 链接到网页 B 时,Google 就认为"网页 A 投了网页 B 一票"。 Google 也不是纯粹考虑投票的数量,还对投票的网页进行分析。本身很重要的网页的投票有助于增强其他对方网页的重要度。

  重要的是,Google会记录每次的搜索行为,高质量的网站能够获得较高的PageRank分值。当然,重要的网页如果不能匹配你的查询就没有任何价值。所以,Google把PageRank技术及文本匹配技术进行结合从而搜索出既重要又相关的的结果。Google的匹配技术不是只考虑词条在网页上的出现次数,而是检查网页内容(及链接网页的内容)的所有方面,从而决定该网页是否匹配你的查询。   更多信息访问Google PageRank介绍:

  搜索引擎排名与PageRank的关系

  虽然每个搜索引擎都严格保密各自的明确的搜索算法,但是搜索引擎分析人士相信搜索引擎结果(排名列表)是"Page Relevance"与"PageRank"因素综合承继的结果。

  Ranking = (Page Relevance) x (PageRank)

  PageRank逻辑算法无疑是具有重大意义的,而且这种算法不能够被网管人员轻易操纵。Google的搜索结果能够显示出如此高的相关性无疑也是它能够获得彻底成功的重要原因之一。大多数其他搜索引擎已经完全采用同类模式作为自己的搜索算法,而有的搜索引擎将这种算法在决定结果排名中的重要程度进行定义后应用与自己的搜索结果中。
自网络发展的初期,搜索引擎就一直不断的努力试图开发出可以排列相关网页的搜索算法。大多数搜索引擎重视于"链接流行度"(link popularity),作为评价网页重要度及用于索引的标准

  Google 工具栏

  Google工具栏供人免费下载安装,除了某些有用的功能外,比较显著的一个特点就是它可以告诉用户目前正在访问的每个网页的PageRank值。

  下载后的Google工具栏位于浏览器窗口下部,可随时随地进行网上搜索。工具栏显示出每个页面从1-10不等的PageRank分值。对于Google未索引的网页,工具栏不会显示出该页的PageRank分值。需要提醒的是,该分值是针对网页而言,而非网站。

  注:PR值越高,说明营销人员要针对相应的搜索词条获得较高的排名位置就有更多的竞争。所以,我们建议根据关键词优化你的网页PR值。

  什么是链接流行度?

  "链接流行度"系统是基于网页获得的链接的数量及质量而定的。也就是说,指向你的网页的链接数量越多,你的网页将被搜索引擎认为越重要。数量并不是决定网站重要度的唯一因素,重要度还取决于其他因素,包括被链接到本站点的站点的质量、他们的内容的质量及与本站点的行业相关性等。   链接到本站点的网页会把PageRank的部分分值分配到本站点。所以链接页面的PageRank分值越高,分配给本站点的分值也就越高。

  PageRank也会被链接页面商店所有导出链接所瓜分。譬如,同样PR为5的链接网页,导出链接只有15个的网页会比导出链接为100个的网页分配给你更多的分值。

  所以重要的是要从PR值较高并且总体导出链接数量较少网页才能获得安全链接。

  如何检测链接流行度

  最简单的检测网站流行度的方法就是利用Google搜索,方法如下:   link:www.yoursite.com

  其它主要搜索引擎在搜索你的链接流行度时都有不同的规则。

  建立链接流行度提高PageRank

  建立链接流行度是搜索引擎营销的一个重要方面。尽管认为的提高PageRank不是意见容易的事,但是你通过改善链接流行度就可以不难做到。通过长期不懈的关注建立链接的工作,你就会提高站点的PageRank,大大改善自己的站点排名。

  就在不久前,Google及其他搜索引擎配制了某些类似与PageRank的算法成分(如TSPR"Topic Sensitive PageRank",Hilltop"Links from expert document."),进一步将决定排名的比重放置在页面以外因素上。
随着页面以外因素在网站排名中受到重视,所以提高加强这些因素的重视就变得越来越重要。当越来越多的网管意识到PageRank及链接流行度的重要性时,就不难在同行业中与其他站点进行链接交换了。


如何应对Google的新算法?大家可以根据下面所列的一些要点采取相应的措施。

3-1. 关键词的研究:扩大覆盖面

搜索引擎策略的中心思想是确定恰当的关键词来锁定目标群体。但有很多网站管理员却在这一步上掉以轻心,只在屈指可数的几个平平常常的关键词身上铆足了劲,却不知这种策略失之偏颇。关键词研究的主要目标应该是确定目标群体所有可能使用的关键词,其中包括了品牌名称、地理位置及修饰语等"修饰成分"。


尽管对网站的每个页面只能围绕两到三个关键词进行关键词优化,但通过关键词和修饰成分的有机结合,亦可大幅提高网站对搜索结果的覆盖率。对于Google在去年11月15号所做的更新,有很多实施了有效关键词策略的网站管理员压根就没有注意到。原因很简单:他们锁定的是所有可能相关的关键词,覆盖面极广,所以虽然个别一般性的关键词的排名下降了,但网站的整体访问量并未受到什么影响。


若只针对少数关键词,而且这些关键词都有很好的排名,这种策略看起来似乎也蛮不错。可是一旦搜索引擎改变了排名算法,就象Google这次一样,这种缺乏灵活性的策略可就撞上南墙了--正确的做法是锁定所有可能相关的关键词,扩大对搜索结果的涵盖面,给自己的搜索引擎策略打下一个坚实的基础。


3-2. 网站结构的有效性


为保证"广泛的关键词"策略的有效性,网站需要进行组织,让搜索引擎可以顺利地遍历或检索网站内的所有网页。为了更好的理解这一点,让我们先来看看搜索引擎的Spiders是如何遍历网站的。


在对网站的第一次造访中,Spider首先会取得一个叫做Robots.txt的文件来决定是否允许它检索。


当Spiders从另外一个站点发现你网站的链接时,若Robots.txt文件里并未声明不允许它访问该页面,则Spiders会把这个页面保存下来。它不一定就是主页,也可能是你网站的其它页面。


Spider在对这一页进行检索时,它会从中摘录一些关于内容方面的信息和页面上的所有链接,并将其放入搜索引擎的数据库里面。如果它所认为你的网站十分重要,它稍后会检索这些链接页面。


如果你在网站的每个页面上都放了一组指向网站主要部分的链接(网站全局导航链接),那么接下来这些链接页极有可能得到Spider的检索。假设网站上的每个页面上都依次放有指向网站主要内容的链接,那么搜索引擎要想遍历整个网站真是易如反掌。


因而,最有效的网站结构当属自顶而下(Top-Down)或金字塔型设计结构。规模较大的网站(至少十几页)应设立一个网站地图页,用以列出网站的所有内部链接页。SUN微电子公司的网上大师级人物杰可布.尼尔森(Jakob Nielsen)认为:一个网站设计的精良与否的一个重要标志就是是否有网站地图。


许多人对文本链接方式的网站导航持排斥态度(可能因为它不那么漂亮吧),而是热衷于Flash或动态网页(DHTML)形式的菜单。使用这种导航方式的人要当心了,因为搜索引擎目前尚无法很好地支持这种导航系统。不过别担心,只需将文本导航链接放到网页的最下方,这样既保持了你喜欢的网站风格,又向搜索引擎提供了更对它们口味的东西,可谓皆大欢喜。


内容清楚的文字性链接不但可使你的网站很容易得到Spiders的检索,而且对我们这些真实的访问者来说亦一目了然。做文字链接时需注意一个问题:尽量让网站的内容只需最多两三次点击就可以打开,可创建一个网站地图把这些链接放到一起。


3-3. 创建大量优化网站内容


网站的结构就象一个框架。我们已经知道了如何构建一个友好的网站结构,接下来该向结构中填加内容了。


先记住完成步骤一(3-1)后找到的所有相关关键词以及相应的修饰语,现在我们可以在每一页的内容上,在下面几个地方放上相关的主要关键词,并予以恰当的修饰:
1. 网页的<TITLE>中
2. HTML源码中的关键词和描述元标识(META Keywords & Meta Description)
3. 页面上的主标题文字<heading>和各部分的标题文字<headings (H1– H6)>
4. 网页正文中的段落(<P></P>)和列表(<List></List>)之中


不必太担心象"关键词密度"这样"深奥"的东西。只需自然地使用关键词,利用不同的单词变化形式,并辅以恰当的修饰语。而且只需在页面上可以看见的文本内容中出现若干次关键词,并将这些关键词放在页面上较为突出的位置上就OK了。没必要再向其它毫不相干的地方"填塞"关键词。


假设你已经为要建设的网站拟定了大量内容––建设一个内容相当多的网站着实是一项有些让人望而生畏的任务。实际上也确有一些人望而却步,转而使用诸如机器自动生成的"门页"等这样一些廉价的伎俩,大家千万别相信这些投机取巧的方法,它们只会增加你遭到搜索引擎处罚的可能性而不是你想要的排名。况且,网站内容的开发工作并没有那么难。 如果你是自己做这项工作,你完全可以把工作分做几步来开展,这样就轻松多了。例如,若将工作分做10个步骤,且每个步骤中需创建10个页面,你就可以每天只完成一两页内容,等一个步骤完成后再继续下一个步骤。


花上两三个月来构建一个既实用又兼具丰富内容的站点是值得的。别忘了要经常给网站补充新鲜的内容––即使一个星期只补充一点内容,时间长了之后,用户总会看到内容上的质的飞跃。而且网站的内容越多,搜索引擎用户发现它的机会也就越大。 3-4. 链接策略


现在你的网站不但漂亮而且实用,不但内容丰富,而且关键词完美涵盖了所有用户可能用到的查询条件。每个页面都是一个优化的典范,且被极佳地相互链接起来... 现在可以松口气了吗?别急,革命尚未成功。若现在你就停滞不前了,那你一定会得失望。搜索引擎不会对一个没有任何外部链接的网站青睐有加。因为外部链接往往意味着业内其它网站对你的认知程度。要想得到理想的排名,你还需要花时间来进行网站推广和逐步建立网站的导入链接。

如果想在"新"Google中取得成效,就需要锁定那些来自相关站点的相关链接。数量当然是多多益善了。问题是:怎么去找这样的链接呢?


首先,向所有能找到的相关目录提交你的网站。象DMOZ这种大型目录当然是首选目标了,不过一些规模相对较小的分类目录也是理想的提交对象,如GoGuides,Skaffe,Gimpsy,WebSavvy,等等。


其次,可从相关站点群体获得相关链接。以所有主要目标关键词为查询条件,从Google上查找那些排名位居榜首的网页。排名前20到30名的网页一般来说相关度最高,因而都可能是理想的目标。再依次访问其中的每个网站-–若这些网站提供有链接页,或链接到相关站点,可以向他们请求交换链接。然后再看看有哪些网站链向它们,再设法同这些网站交换链接。


尽量控制链接的放置位置。即使是一个罗列了大量链接的"资源"页的相关链接也是不错的。若链接位于访问量较好的页面,可使你赚进显著的访问量。找一找这样的网页,和他们进行互惠链接。


一般情况下,链接页上都会放置自己的首页作为到自己网站的链接。但也不尽然。在建立链接时,也可以为网站的"内部"页面寻找链接的机会。


3-5. 不要"见好就收"!


大多数人很容易步入的一个误区是:一旦他们的网站在搜索引擎中的排名效果显著上升,并由此而使访问量得到可观的增加后,他们就开始忙于应付新访问者了,而不再为网站的内容、链接花心思了,甚至没有心思再去看他的网站排名了。


不久之后,倘若Google或任何一家搜索引擎把他们的排名给刷下来了,他们就开始牢骚满腹,说什么搜索结果不公正,搜索引擎在迫害他们...等等等等。


对此,我的建议很简单-–不要因为排名上去了就停止努力,继续寻找新的相关关键词,继续创建链接,继续为网站添加新鲜"血液",保持网站的最新状态。记住:无论是排在你后面还是前面的竞争对手,没有人会停止和你竞争的。


你的努力往往需要过上几个月才会在搜索结果中体现出来。可是有些人在几个星期之后就因为没有看到直接的效果而放弃了。如果在网站的搜索引擎排名上掉以轻心,等发觉问题时,你已经落后至少好几个月了。


如果你已经读过了"Google专利网页级别技术PageRank揭密"或Google的PageRank技术说明,也许你会对我在这篇文章中将要谈论的这个问题表示认可。
  为什么我会提出这样一个奇怪的问题?其实并不奇怪,因为这个问题已逐渐变成人们注意的焦点并开始给大家带来困扰。有些人说根本不存在这样的问题,有些人则更加认为这只是个荒诞的说法。-页面等级是否存在漏损的问题?如果是,这种损失有多严重?——我认为是对这个问题作出解释的时候了。
反对者如是说:
  反对页面等级会遭受漏损影响的人认为:一个网页有其确定的页面等级(PR值)。Google的页面等级系统只是部分决定了该网页所链向的那些页面因为此外部链接所获得的PR增量。而在此过程中,该网页本身的PR值实际上并未遭受损失。换句话说,如果页面A有其确定的页面等级,那么不管它链向多少站点,页面A的页面等级都不会因此而改变。
我的解释如下:
  这种观点确实几乎无懈可击,只是他们忽略了这样一个事实,那就是既然一个单一的网页A上可能有其它链接(内部或外部的链接),而我们讨论的又是一个网站,那么对网页A所在的网站而言,页面等级是有可能循环返回到页面A的,这种可能性并不是没有意义的。虽然PageRank是基于网页而不是网站的操作,但我们大家都知道,根据网站的定义,它其实就是一个由网页所组成的系统。
  网站的一个独有特性就是其内部的每个页面是紧密链接起来的。这种紧密的链接意味着该网站上的网页会通过链向网站内的其它网页而受益。反之,如果它链向一个外部网页,它就不会得到这样的收益。即:页面等级的漏损问题对你的网站不会造成什么直接的影响,其影响是间接的。那些坚持页面等级漏损影响不存在的人,对页面等级这个概念的理解过分简单化了。
让我们先来做一个类比:
  先假设有1,000元魔法钱在我手里,我可以给你,但你必须遵守这样一些游戏规则:规则一是你必须把钱都分给你家庭中的5个成员和两个陌生人;规则二是得到钱的这些人要把他们得到的钱拿出一半来给你或其他6个人;规则三也是最后一个规则就是,你可以按任意分配比例把这1,000块钱分配给7个人中的每一个人(即分配比例由你自行决定,允许有人得不到钱)。
  现在让我们看看,游戏开始时你的家庭的魔法钱有多少?自然是1,000块。根据人的本性来推断:你下面准备做两样事情,第一件是确保你尽可能得到最多的魔法钱;二是确保你得不到的那些钱能够被你的其它家庭成员得到。所以在你第一次分配这些钱的时候,你是压根不会分给那两个陌生人的。而且在把钱分给5个家庭成员时,那个你认为最可能给你50%回馈的人得到的钱一定是最多的。当然为避免引起猜忌,你也不可能把全部钱都给这个人。而如果万一你的某个家庭成员把他的钱给了陌生人,其实你并没有任何损失,不过同时你也没有最大化利用我给你的机会。这个被浪费的机会就是你的"漏损",是它导致了你实际得到的钱比你能够得到的要少。
  与此类似,一个网站就象一个家庭,其内部的页面就象一个个家庭成员。相对于那些外部网页来说,你只能指望你自己的网页把得到的一半魔法钱回赠你。而且假如这些网页都不允许留下它们所得到的魔法钱,那你也只能指望从自己的网页处得到这些钱。而对那些外部页面来说,它们只会把钱给回它们自己的网站。
现在我们可以这样下结论:
  页面等级的漏损问题确实存在,不过它是合理的,也不会给网站造成直接影响。实际上我们可以这样说:页面等级的漏损导致了你无法获得你本来能够获得的页面等级,即你获得的页面等级比你能够获得的要低。
页面等级的漏损问题是否有那么重要?
  现在新问题来了,是不是可以不对外链接来防止页面等级的漏损?答案要取决于你需要网站页面等级为几,你所处领域的竞争性如何,以及你所期望的页面等级是否与你的页面相一致?最好的办法是读一下我们文章开头所提到的"页面等级揭密"。不过在这里,有一点我们可以肯定,即使在最具竞争的领域内,最通常的情形是:对一个网站来说,只有其中的一些网页需要较高的页面等级来获得较好的排名,而不是它内部的全部网页。也会有这样的情形出现,即人们首先担心其页面等级的损失而不是设法去很好地分配其网站上页面的等级。
我们应该怎样做?
  链向外部站点并非不能给你带来益处。它可以增加你的网站在搜索引擎中的排名和用户浏览的机会。唯一的负面影响就是它也会同时造成页面等级的漏损。正是因为如此,我想把我们讨论的页面等级漏损这个问题叫做"页面等级付出"应该更为合适。这也就是我为什么在文章的一开始并不急着给它一个确定名称的缘故。
  最简单的解决办法就是,对那些带给你的好处远大于给你造成页面等级损失的网站,你应该链向它们而不是拒绝分享你的页面等级。
  如果我想买一件外套,一个商店是50元,而另外一个商店则卖到75元,那我当然是要买那件50元的了。我举这个例子只是想说明:你应尽可能将页面等级的漏损降到最小,但也不要因为害怕这种损失而拒绝同那些可使你获益的网站来分享你的页面等级。
2003的11月16号--这个日子可能会成为搜索引擎历史的一个重要里程碑。正是在这次被大家称为 Google Florida的更新中,Google对其排名算法进行了大规模改动,并导致很多原来排名很好的网站在一夜之间如梦魇般直落孙山。每个更新周期可能会对排名算法做一些小小的改动Google一贯的做法,但这次如此大手笔的改动,不能不让网站管理员乃至整个搜索引擎优化行业都倍感震惊和始料不及。不但很多原来排名一直保持前矛的商业网站丢掉了排名,同时亦使得许多做网站排名优化的公司都受到了不小的冲击。但由于Google几乎占据了搜索市场的大半江山,倘若此时弃而转用其它搜索引擎进行生意推广,并不见得为明智之举。
对于Google新算法到底采用了什么新机制,仍然是SEO界争论的焦点。目前有两种主要理论。一种是专家系统,即Hilltop算法,也就是本文将要阐述的;另外一种则是以Dan Thiesw为首的 TSPR(Topic-Sensitive-PageRank:主题性页面级别技术)理论,其大概思路为:查询发生时,Google将对查询条件和CIRCA数据库中包含的主题进行匹配,查询与主题的关系越密切,则主题性页面级别得分效果越佳。此外,由于一个给定的查询条件可能会与数据库中多个主题匹配,所以页面级别计算中出现的任何小错误都将由关联的一定数量的主题性页面级别得分平摊,因而近似的主题性页面级别得分即可提供高质量的搜索结果。详细论述可参看TSPR理论-如何应对Google PageRank排名新算法。我们相信,无论Google采用什么新算法,其目的均旨在向用户提供更为精准的搜索结果。

HillTop (LocalScore) 算法
作者:Atul Gupta
Google新算法的庐山真面目到底是什么?这仍然是个迷。而在Google网站上,从其对高质量内容网站进行奖励及对采用恶意技术的网站进行惩戒内容中,亦无什么新内容可寻端倪。自然,作为搜索引擎,这种做法是完全可以理解的。搜索引擎的算法应该是保密的,因为它们对新算法的任何评论,同意或否定的言行都会泄露其新算法,而任何对排名系统的一丁点泄漏都有可能被一些人钻了空子,并用来恶意操纵搜索结果,从而破坏搜索结果的客观公正性。
我们根据一些比较具有可行性的推测,并结合实际研究、试验,以及对搜索引擎行为的发展趋势和历史的知识基础,得出了一些发现。首先,我们来看看对于Google新算法的一些比较值得注目的发现:


1.Google新算法种种之种种传言 & 猜测

对于Google新算法主要有下面这样一些传言和猜测:

开始使用词典对号入座;

意图施压使商业站点使用Adwords广告服务;

开始使用基于贝叶斯定理的SPAM过滤系统 ;

开始处罚互惠链接,优化网页,或链接文本 ;

众多猜测中,Google意图施压使商业站点使用Adwords广告服务显然占了上风。许多搜索引擎优化分析家都认为:Google通过一个保密的过滤系统黑名单来对商业网站进行筛选,从而达到上述目的。对此观点我实在不敢苟同。解释如下…

1.1 是否若查询条件中包含商业性关键词时,Google会对搜索结果进行筛选?

因为这次更新中损失最惨重的是一些商业网站,所以有很多搜索引擎优化专家都认为Google开始对那些含有所谓商业性关键词的查询条件所产生的查询结果进行筛选。而从优化专家针对此所做的一些最初的测试结果来看,确实也表明了一些看起来似乎能够证实这种推测的征兆。

1.2 Google此举动机何在?

如果这是真的,那么Google为什么要这样做?这种推测的后盾在于Google算法更新的时间正好在圣诞购物季节之前,并适逢其IPO上市之际。分析家认为:Google这样做是为了向商业性站点施加压力,如果这些商业网站期盼在一年一度的美国传统的圣诞购物季节得到丰厚赢利的话,就得花钱做AdWords自助广告。免费午餐看来是没有了。还有一些人则认为Google此举旨在为其最终业绩(即基线)涂抹上一点光明的色彩来打动其未来投资者。

1.3 那么又是谁取代了商业站点原来的交椅?

从结果页上看,前20个结果好象都是一些官方站点(.gov),教育类站点(.edu),公益组织性站点(.org),目录及非美国本土的站点。由于这些站点一般并不太需要做广告,所以分析家们据此相信:提升这些类型的网站不会影响到Google的广告收入,同时还可以对商业性站点施压并迫使其加入Google的AdWords自助广告阵营中来。

1.4 Google从何获得商业性关键词名单?

从Google的AdWords广告系统,Google已然拥有一个大型的商业性关键词的数据库。有趣的是,等于是那些广告客户和商业性站点的所有者自己把哪些是好的商业词语告诉给Google了-Google通过广告者对关键词语的竞标价格的变化完全可以看出每个关键词语的价值来。

1.5 事实究竟如何?Google是否确是在用商业关键词名单来过滤掉商业站点?

我个人认为:这种想法实在与事实太过相悖,而且我坚信:Google并不象分析家们所认为的在过滤站点。而且我相信,Google压根就没有什么商业关键词名单。一度流行的这种过滤名单理论是分析家们从自己所看到的迹象上得出的,而事实上这些所谓的迹象是由于其它原因所引发的,而并不是什么过滤所导致的。后面我会就此问题向大家详细解释和阐述。

不可否认,从实践中我们确实可以看到一些象过滤的结果,但我们有理由相信这样的结果实际上是Google新算法的一种副产品,而非Google本意。新算法意图对商业性网站而不是公益性网站施加影响。稍后我会向大家详细解释…

Scroogle.org,这个由不喜欢Google的群体所建立的网站,原来可以通过一种巧妙的方式从Google上提取数据,并向用户提供一种可检查网站在Google上的未过滤的往日排名结果的工具。不过由于Google现已更新了算法以禁止此类查询,故Scroogle.org现已无法提供这样的工具。不过,该网站仍显示有一个从其网站上多方搜索而收集到的所谓Filter Hit名单。我研究过这个名单。 我觉得,它充其量也只能证明了Google并未使用任何如上所说之名单。不然的确话,如何解释California Divorce Attorney位于名单之首而Books或Adult却屈居最下席?难道在Google眼里,California Divorce Attorney比Books或Adult更有商业价值?

Google任何从正常的排名机制中过滤掉把商业性站点的企图都是对Google品牌,乃至对其公正的搜索结果信誉的严重损害。若真有这样的企图,那Google真是太短视了,根本配不上它的品牌和它的服务。Google的股票上市(IPO)和最终业绩都将因此而毁于一旦。此外,Google也说过,其搜索服务和AdWords自助广告服务分属两个不同的工作部门,且互不搭界、互不影响。对此我还是相信的。


2.Google搜索技术的几个明显变化

2.1 Google开始采用词干技术(stemming)

Google确已在搜索结果中采用了词干技术。在早先,如果搜索一个单数查询条件如home garden,则搜索结果中不会出现如home gardens,home gardening这样的关键词变化形式,反之亦然。对于Google的用户来说,这种特性可能是一件好事情,因为搜索提供的结果更多了,但站在搜索引擎优化的立场来看,由于搜索结果的骤然增加,对关键词的竞争亦骤然加剧。 2.2 Google于搜索结果中使用了拼写纠错工具

Google开始将其拼写检查工具用于搜索结果中。例如,当输入查询条件为Search Engine Optimisation后,以往Google只会提示你是否是要找Search Engine Optimization,但显示的还是符合Optimisation的搜索结果。不过现在则能看到Optimization的搜索结果。再如:e-mail solution和email solution的搜索结果一致,而e-commerce则与ecommerce的搜索结果是一致的,这样就增加了数据的竞争性。

3.对Hilltop算法的分析和推测

3.1 为什么采用新算法

大多数网迷们都知道,页面等级算法是由Google的创始人Sergey Brin和Larry Page所倡起的,用以精良网站在搜索结果中的排名。这也是自1998年Google发布以来的取得种种骄人成绩的重要因素之一。

但页面等级系统亦存在着一个基本的缺陷,Google也深知这一点。它根据一个网页上被链接的站点数量和质量来给该网页分配一个绝对的重要性值。同时亦将链接页面的页面等级考虑在内。指向一个网页的外部链接页的页面等级越高,则该链接页面传递给该网页的页面等级值也就越高。但是,页面等级值并非针对查询词语,因而一个网页即使只是在内容中偶然提到了一个和查询主题偏离的关键词语,也会因其居高的页面等级值而获得一个比较高的排名。 美国加州的克利须那。伯哈拉特(Krishna Bharat) 意识到基于页面等级的排名系统中所存在的这种瑕玼,并于2000年提出了一种新算法,他称其为Hilltop算法,并于2001年的一月份申请了Hilltop专利权,Google成为受让方。不言而喻,Google已然意识到这种新算法与其页面等级系统的整合将为Google的排名系统带来良好的效果。

我深信,在Google最近的更新中,不但运用了Google自身的页面等级和相关性算法,而且还结合使用了Hilltop算法用于精工调整页面等级的效果,只不过Hilltop算法可能已迥异于它最初的模样了。

3.2 什么是Hilltop算法?

对此算法有兴趣了解并想挖根究底的人可以看看克利须那。伯哈拉特当年所写的Hilltop论文及详细的Hilltop专利信息。但对我们大多数人来说,只要知道Hilltop算法到底是个什么东东就可以了。简单地说,页面等级决定一个网页的权威性,而Hilltop(LocalScore)则决定匹配一查询条件的一个网页的权威性。

Bharat提出:在利用页面等级来寻找权威网页时,不应单纯依赖于值的大小来定夺,而应将重点放在它与查询主题的相关性上; 即不但需要考虑网页的页面等级,还要考虑该网页的页面等级与查询主题的相关性是否相称。若一个网页只与查询主题只沾点边,那么即使其页面等级非常之高,对用户来说也是没有意义的。如此一来,于网页而言,那些来自于相关主题的文档的链接就更有意义了 (Bharat称这种相关主题文档为专家文档),一个网页的所有外部专家文档链接构成了该网页的权威性值。Hilltop算法的意义在于:相同主题网站之间的链接应比非相关网站的链接具有更高的价值。

Hilltop算法以如下方式计算一个网页的权威值(这只是极为简单的一个例子):

以该关键词进行一次普通查询找专家文档文集。专家文档的定义有严格标准,因该文集应是数量上易于管理的一组网页。

从返回的专家列表中把成员站点(见下注解*)和镜象站点去掉。

根据所获得的上述专家文档对其投票的数量和质量,网页被分配以一个"局部分数"(LocalScore)。然后按网页的"局部分数"进行排名。
*注解:成员站点指来自同一个域,或域相同而后缀不同的站点,如ibm.com,ibm.co.uk,ibm.*****等等,或指来自相邻的IP地址的站点 (前三位IP地址相同,形如64.129.220.xxx)


此外,若两个站点均为相同IP地址下的宿主,则认为其中一个是另外一个站点的成员站点。(即:若ww.abc.cowww.ibm.com均为相同IP地址下的宿主,则www.abc.com是www.ibm.co.uk的成员站点)
Hilltop算法的一个极其重要的特征在于:若没有找到搜索引擎认为数量足够的"专家文件"(要求至少需有两票),则该算法失效,即返回结果为零。换言之,对于高度明确化的查询条件(查询词语),Hilltop算法的结果很可能为"0"。这是该算法的一个独特特性。如此一来,造成了SEO一族中的大部分人都深信Google的确在用"商业词"过滤名单来过滤掉商业网站。
事实上,在Hilltop算法无法奏效时,将显示"旧"Google的搜索结果。这些查询条件的集合就是SEO一族所收集并称之为的"商业词名单"。这一效果无意中却提供了一个强有力的证据,表明Google确是采用了Hilltop算法。2003年11月15号,Google基于新算法的更新之后, 某分析家就指出:在进行查询时,若对某一查询条件加上一些"不包含"的无意义字符,如"car rental – ghjkl",则Google将会显示以往(算法变化前)的搜索结果,而绕过所谓的"商业词"过滤名单。

例如,若查找"real estate –hdfkdhgk",则Google将试图返回所有关于"real estate",同时内容中又不包含"hdfkdhgk"的页面。又由于包含"hdfkdhgk" 这种字眼的网页几乎没有,所以按道理来讲,Google返回的查询结果应该和"real estate"的查询结果是相同的。然而结果却出人意料:Google所显示的查询结果和采用新算法之前的搜索结果的排名是相同的。事实上,Scroogle.org这个网站就是捕捉Google的搜索结果在排名上的不同,并以此得出一个所谓的"商业词"过滤名单。

在所谓的"商业词"背后到底是什么?

我们相信,"商业词"过滤式效果只是Hilltop算法的一个衍生症状。每当用户进行类似"real estate –hdfkdhgk"的查询时,Google都会对整个查询词语进行Hilltop运算,当无法找到足够的包含这种查询词语的"专家文件"时,该算法将返回一个零值(即零效果)。 这就意味着我们通过这种多少有些滑稽的特殊排除词语绕过了Hilltop算法, 这时候Google的其它算法就该出头发挥作用了,而它们所提供的查询结果明显地和算法更新前的查询结果是一样的! 后来Scroogle.org的声名鹊起让Goolge发现了这个bug。后来Google为了防止此类漏洞,索性把查询分成两步走,先把排除条件词语放一边,将查询条件送至Hilltop进行运算,如此一来,由于Hilltop不再同时对排除条件进行解析,所以可保证其正常发挥效用,并提供相应的搜索结果,然后再将此结果传递给Google算法,Google根据最初查询中的排除条件从Hilltop提供的结果中将符合排除条件的网页剔除,然后再将结果显示给用户。这也就是为什么我们现在用上面的法子再也无法看到"旧Google"的搜索结果的原因了。

Google新算法意义何在

Hilltop算法与Google的页面等级算法及页面相关性算法的结合看起来是超佳组合,几乎无懈可击。其联姻对于链接流行度/页面等级和来自专家文件(LocalScore)的链接对你网站的排名的影响程度有着深远的意义。
我列了一个简单的公式来说明新算法的效果和影响 (谨供参考):

"旧"Google排名公式 = {(1-d)+a (RS)} * {(1-e)+b (PR * fb)}

"新"Google排名公式 = {(1-d)+a (RS)} * {(1-e)+b (PR * fb)} *{(1-f)+c (LS)}
其中:

RS = 相关性得分:基于网页标题(Title)。元标识(Meta tags), 正文标题(Headlines),正文(Body text)。URL,图片Alt文字,锚文字(Anchor Text)等元素中出现的关键词得出的分数。
PR = 页面等级:(基于链接至你网站的网页数量及其PR值得出的分数。原始公式为PR (A) = (1-d) + d (PR (t1)/C (t1) + …+ PR (tn)/C (tn)),其中D为阻尼因子,一般设为0.85; 公式可描述为:A网页的其PR值等于链向该页面的所有链接页面的PR值分别除以各自的外部链接数量的总和。
LS = 行业得分(LocalScore):根据专家文件计算得出的分数。

a,b,c = 调节控制比重:Google用于精工调整查询结果

d,e,f = 阻尼控制:Google用于精工调整查询结果。目前"f"值可能为"0"。

fb = 因子基数:Google工具栏山所显示的页面等级得分范围从1到10,但它实质上并不是一个线性函数,而是一个指数/对数函数。经过分析,我们认为它有一个趋近于8的基数。即PR为5的网页的值比PR为4要多8倍之多(PR5=PR4X8),同样,一个PR值为8的网站比一个PR值为4的网站的值要高出4000多倍(PR8=PR4X8X8X8X8)。

Google新算法的优势/优点

页面因子极易被人利用和控制,例如最早被用作排名因子的META TAGS,就由于很多网站无度的关键词充斥泛滥而不得不被搜索引擎喊停。此外,在开始的时候,由于顾忌到真实来访者的感受,对网站内容一般作手脚的并不多,但后来亦难免诱惑,过度优化,甚至页面上放上许多"隐形"的内容已是屡见不鲜的伎俩。页面因子确实无形中赋予网站管理员太多"恶意"控制权。而在Google的新算法中,各排名因素所占比重分别如下:

总"排名"得分由三部分组成:相关性得分(页面因素),页面等级得分(非页面因素)和行业得分(非页面因素):
相关性得分(RS)= 20%,页面等级值(PR) = 40%,行业得分(LS) = 40%
其中:

RS (相关性得分:页面相关度) --是所有SEO努力的转换结果;

PR (页面等级得分:外部链接度) --是所有建立链接的努力的转换结果;

LS (行业得分:专家文件链接度) --是得自专家文件的链接的转换结果;

从上述结果不难看出,页面优化的得分只占到20%,Google显然已将重心转至非页面因子上,而把排名控制权越来越多地从网站管理员手中夺回来。假若一个水平一般般的优化专家可以拿到RS中的10分,而一个水平很高的优化专家最高也不过能拿到18,19分,大家可以看到:这两个水平悬殊的优化专家之间的差别仅仅只有8分而已!

Hilltop算法是否以实时方式运行

Google所拥有的服务器体系架构就是网络上分布的一万台奔腾级服务器。而一旦了解了Hilltop算法后,我们很难相信这样的奔腾服务器能够具备如此的处理能力:试想一下,首先要从成千上万的主题性文件中找到"专家文件",然后计算目标网页自这些专家文件的链接的得分,然后再将数值返回Google算法的其它排名系统,并做进一步处理—而所有这些要在大约0.07秒内--这个让Google举世闻名的搜索速度内完成。确实使人难以置信。

Hilltop算法的运行频率及涵盖范围

我们认为,要保证Google一贯的"闪电般"搜索速度,Google会对搜索频率较高(热门)的查询词(即所谓的"商业词"黑名单)定期运行批处理,并将结果存储起来供日后使用。Google的数据库拥有数目庞大的高查询频率的查询词,收集自实地搜索和其AdWords自助广告系统中所使用的关键词。Google很可能对关键词搜索次数设置了上限值,凡搜索频率高于此阈值的查询词都将被纳入Hilltop系统,然后Hilltop系统再对收集的所有高查询频率关键词定期运行批处理,可能一个月一次。增量级的稍小规模的批处理可能会频繁一些。 同时,每个月将对Hilltop系统运行批处理后的结果对Google的万台服务器的数据库进行同步更新,但稍小规模的批处理的数据库更新会更加频繁一些。

对于那些用户查询频率不算高,因而无此"荣幸"被纳入Hilltop算法的查询词语,Google仍将使用原来的算法并显示原来的排名结果。因而对于那些高度明确或专业化的关键词,由于它们被排除在新算法的范围之内,因而有望保持原来的排名。

Hilltop算法为何经过如此长时间才投入使用

Google早在2003年2月就获得了该专利,但在实际投入使用前,需要首先保证新算法和Google当时所使用的页面等级和页面相关性系统的完全兼容性,所以需要对其兼容性做大量测试,然后再评估算法整合后所提供的结果,再做精工调整,然后是进一步的繁复测试…我想所有这些都需要大量时间。

Google新算法的不利方面/瑕疵

经过进一步分析,我们发现了该算法存在着的若干缺陷和不足:

Hilltop的前提是每个专家文件都是完全公正的,且无欺*和人工操纵成分。然而情况可能并非如此理想。专家文件的一个小小污点就可以对排名产生极大的负面影响。

Hilltop意图通过"权威性"专家文件的链接来确定一个网页的行业可信度,但又不能够明确保证这些所谓的"专家文件"的""量"确是名副其实。

运行Hilltop算法需要大量的计算机处理能力,因而我们猜测Hilltop算法(可能)是每个月对收集到的全部高频率(热门)查询词运行一次批处理。由于Google算法将40%重心转移至Hilltop,且Hilltop算法运行后的得分会保持至下一次批处理,因而在此期间搜索结果很可能不会有太大变动。此外,由于"专家"网页的投票方式往往不会有太大变动,因而在某段时期内我们可能只会看到一些"陈旧"的搜索结果。这一点悖离了搜索引擎的"提供最新、最好"的查询结果的宗旨。除了"权威网页",用户同样希望看到一些新鲜的内容,然而对"新"Google而言,用户只有寄望于那些查询频率不太高,从而未被纳入Hilltop系统的查询词语上看到"新鲜"的查询结果了。

新站点对热门查询词的排名的难度将越发加大。看来对于那些特别热门的查询词,Google对新网站或新内容的排名的门槛是越来越高了。

商业性站点要链向网络分类目录,贸易协会,政府贸易机构,教育机构,公益性组织的站点并非难事,故而这样的站点会占据搜索结果的前十名位置。


哪些站点是Google新算法最可能的殃及者?

成员站点/域群集/运行于相同服务器下的MLM(多层营销系统程序)程序。

过度依赖"页面"优化因子的网站。

依赖高度竞争性的查询词语来获得访问量的网站。 对网站拥有者的若干建议:

排名规则已发生重大改变,网站的成功推广需从提高PR值及获得更多来自"专家文件"的链接着手;

尽可能为更多主流网上分类目录(DMOZ,Yahoo,About,LookSmart等),贸易目录,黄页,贸易协会和资源页等所收录;

避免使用域群集/成员程序或带有成员性质的系统;

避免来自可疑的FFA站点及链接工厂的互惠链接。

若干需要澄清的传言:

关于"过度优化会受到惩罚"之说--过滤优化本身就是一种SPAM,因而受到惩罚也是理所当然的事情。然而当前大多数商业网站所受到的排名冲击并非由于受到惩罚,而是由Google将重心从页面因子转至非页面因子而造成的。网站的良好优化仍必不可少。

关于"建立外部链接不再重要"之说--建立链接流行度还是和从前一样举足轻重,甚至还有可能会更加重要。Google专利的页面等级算法仍旧占据举足轻重的地位。

关于"Google开始使用'商业词'过滤名单"之说--Google并没有使用任何"过滤名单"来惩罚商业站点。Google也无意去"惩罚"或"筛掉"任何东西,它所力求的只是建立一个能够识别最具备相关性网页的系统。

站点收录进DMOZ,Google目录和商业目录收录会让Google认为该站点属商业性网站,从而对其进行惩罚--正相反,由于这些目录都是质量非常之高的"专家文件",因而得到这些目录的链接不但不会受到惩罚,反而会带给你较高的收益。

随着Google对其算法的大更新,我们不得不承认,要想让网站得到好的排名真是越来越不容易了。若只采用简单的优化技术,如元标识(Meta)或页面优化,几乎没办法得到理想排名。我们需要顾及很多的算法变量,而不仅仅是一个Meta Tags。搜索引擎优化会更为专业化。老式的优化伎俩已经不管用或收效甚微了。现在需要计划和实施的是全方位的SEO策略。为保证成效,SEO专家现在需要做的是投入更多的智慧、研究、分析、计划和时间。这样的话,SEO的优化"成本"亦将逐渐增高。

PPC(付费点击)的价格会继续攀升。PPC广告方式不但会成为网上营销策略的一个主要组成部分,而且需要保证相应的搜索引擎访问量。现在,网站的外部链接和页面等级愈加重要。它对排名的影响更加重要。搜索引擎优化和建立链接的结合已势在必行。此外,搜索引擎排名算法的更新不仅会越加频繁,而且幅度会越来越大。现在,定期的搜索引擎优化维护变得尤为重要。对网站的搜索引擎优化不仅是必须的,而且大有裨益。

很多网站都丢掉了它们原来的好排名,因而尤其需要搜索优化专家。每一次更新算法都是对搜索引擎优化人员名单的一次缩水。搜索引擎的优化和排名生意变得愈加困难,然而也愈加重要了。

Alexa世界网站排名底细

网站排名是最容易引起关注和议论的,况且为世界上350多亿的网站定坐次,不仅如此,最重要的是排名的结果通过Internet发布到全世界。仅此足以引起哗然,对于不明真相的人,某天突然有人告诉你,"你们的网站排在我们之后",此时你一定有些蒙。到底是谁在操这份心,评点虚拟世界的英雄?
Alexa 是什么
Alexa 是以发布世界网站排名而引人注目的一个网站,URL地址为 www.alexa.com 。其实,此网站的搜索引擎也很好用,但是"网站排名"却是它吸引眼球的最主要原因。
以网站导航起家的Alexa创建于1996年4月,他们的目的是让Internet冲浪者在分享虚拟世界资源的同时,更多的参与Internet资源地组织。2002年5月Alexa放弃了自己的搜索引擎与Google合作。他们每天在网上搜集超过1,000GB的信息,然后进行整合发布。现在他们搜集的URL数量已经超过了Google。下图是他们自己给出的一个信息量比较图。纵轴为已有的URL地址的量,以十亿为单位。也就是说在量上,Alexa位居世界四大名搜索引擎第一位,已经超过了350亿。


焦点在于,Alexa不仅给出这350多亿网址的链接,而且为其中的每一个网站进行了排名。可以说,Alexa是当前拥有URL数量最庞大,排名信息发布最详尽的网站。

Alexa的网站排名

Alexa的世界网站排名主要分两种:
综合排名 也可以叫做绝对排名,即特定的一个网站在所有350多亿网站中的名次。Alexa每三个月公布一次新的网站综合排名。此排名的依据是用户链接数(Users Reach)和页面浏览数(Page Views)三个月累积的几何平均值。
如当前世界排名最靠前的网站有:雅虎(www.yahoo.com)高居榜首,MSN(www.msn.com)紧跟其后,两个韩语网站www.daum.com和www.naver.com 位居第三和第四名。第五名是最有名的搜索引擎Google(www.google.com)。每日的Internet用户中每百万人平均有308,000人会访问雅虎。全球著名的电子商务零售平台亚马逊www.amzon.com 综合排名14位。
Alexa还会根据网民对网站的评论,在综合排名信息中,用"星"来给网站评一个等级,最高为"5星" 。国内网站排名最靠前的新浪网,得了"2星"。Alexa网站本身不参加排名,但是Alexa给自己的评价为4星。

如果IE中嵌入了Alexa工具栏(Alexa Toolbar),那么每访问一个网站,其综合排名就会显示出来。也就是通常人们所说的名次。如果通过Alexa查看一个网站,首先看到的就是该网站的综合排名,并且配有当日网站首页截图,和网站内容的简单文字说明。以cctv.com.cn为例,显示其综合排名为1,238。

分类排名 一是按主题分类,比如新闻、娱乐、购物等,Alexa给出某个特定网站在同一类网站中的名次。Alexa将其收集到的网站共分了16个大类,每个类下又分为多个主题。二是按语言分类,比如英文网站、中文网站、法文网站、德文网站等,给出特定站点在所有此类语言网站中的名次。Alexa提供了21种不同语言网站的分类排名。其中中文网站还细分成:简体中文和繁体中文两种。对于中文网站的排名只发布排在前100名的网站名单。

比如,我国一些著名门户类网站和新闻类网站当前的综合排名和按简体中文分类排名情况。


其它一些排在简体中文网站100强的还有:联合早报:www.zaobao.com和凤凰卫视www.phoenixtv.com分别位于第21和28名。

繁体中文网站排名位于前5名的依次为:HiNet(www.hinet.net),Pc Home Online (www.pchome.com.tw), 番薯藤(www.yam.com),MSN(www.msn.com.tw),新浪(www.sina.com)。Sina.com.tw和Sina.com.hk分别位于第6名和第8名。新闻类的如:联合新闻组,即联合报系(UDNnews)www.udn.com排在繁体中文网站的第7名;东方日报(www.orientaldaily.com.hk)排在第31位 ;太阳报(www.the-sun.com.hk)和明报(www.mingpaonews.com)分别位于43、44位。另外,星岛日报、香港电台、中华电视等的网站也进入了繁体中文网站的100强。

Alexa将综合排名500强网站在自己网站上强力推荐。每个通过Alexa访问的网站,Alexa首先给出了有关该网站的如下图的信息(以人民网 People.com.cn为例)。包括:综合排名、相关网站链接、网站基本情况、联系方式、关于该网站的评论。

通过上一页的链接"See Traffic Details" ,可以查看到有关该网站访问量的详细统计数据和图表。以新浪网Sina.com.cn为例,可以获知,除了同上的网站综合排名简介外,的如下信息:

1、距当日最近的前3个月、前6个月和一年的访问量走势图。

2、综合排名统计表,包括:今日排名、1周前排名、3个月前排名,以及与上一季度比较排名是上升还是下降。

3、网站所有各栏目被浏览的概率的详细统计。

4、当日用户链接数、一周前每日平均用户链接数、前三个月的每日平均用户链接数(每百万人为单位)和当日、前一周、前三个月按用户链接数的排名,以及3个月来这些数量的变化。

5、每个用户平均浏览页面数,分为:当日、前一周、前3个月分别统计。而且有按被访页面数的排名。以及3个月来页面浏览量和以此为排名的名次两项变化。

另外,Alexa还在自己的网站上公布排名变动最大的网站,分为名次上升最快的和名次下降最快的网站排行。比如2003年7月27日,华夏旅游网位居变动排行榜第一,访问量上升260%。

如此大量的网站地址,如此详尽的数据和统计,确立了Alexa的世界网站排名的权威。Alexa给出的排名无疑吊起众多人,尤其是那些与网站密切相关者的胃口。人们难免会思考:为什么我们的网站排在他们的之后?这个排名科学吗?公正吗?怎样才能排得靠前一些?实事是,无论如何这样的一个排名已经开始产生影响,不能排除它会影响网站的经济效益之类,甚至会带来更深更远的影响。

Alexa的排名机制

先决条件
1、 Alexa的网站排名是按照每个特定网站的被访问量进行排名的。访问量越大,排名越靠前。 2、 访问量是针对定义在域上的网站进行统计的。如:www.sina.com.cn、news.sina.com.cn 和tech. sina.com.cn将被视作同一网站进行计数,因为它们同属于sina.com.cn这个域。但是个人主页除外,如果系统能够自动从URL地址分辨的话,将被视为彼此独立的网站。比如:在西陆(www.xilu.com)上申请myweb.xilu.com和hisweb.xilu.com两个不同的个人主页空间,myweb.xilu.com、hisweb.xilu.com和www.xilu.com将被看作三个独立的网站进行计数,而不是算作xilu.com域下的一部分统一计数。

3、 提供同样内容的网站将被视为同一网站计算。中比如,传播研究网使用www.mediaresearch.com.cn 和www.mediaresearch.cn两个域名发布同样的内容,那么将被作为同一个网站来计算。

4、 纳入统计的访问量仅来自使用Alexa工具栏(Alexa Toolbar)的用户。也就是说,只有用户下载了Alexa工具栏,并将其嵌入自己的浏览器。这样,该用户访问某个网站的话,访问的记录才能算作被访问网站的访问量。据Alexa统计,现在使用该工具栏的用户达数百万。

5、 Alexa工具栏仅在windows操作系统下,Internet Exploer浏览器中管用,使用其它操作系统或者浏览器的访问将不能被计数。

6、 遇到有安全保护或加密的站点(如使用https协议),Alexa工具栏将自动关闭,因此那些安全系数高的网站,Alexa将不能对其进行搜索和统计排名。

访问量算法
1、 某个特定网站被排名时,依据的访问量数据是基于该网站3个月访问量记录的累积。也就是说Alexa每三个月发布一次排名结果,即通常说的名次。它的计算主要取决于用户链接数(Users Reach)和页面浏览数(Page Views)。Alexa系统每天对每个网站的用户链接数和页面浏览数进行统计,通过这两个量的三个月累积值的几何平均得出当前名次。变动是指与前三个月的比较。

2、 用户链接数(Users Reach) 指通过Internet访问某个特定网站的人数。用访问某个特定网站的人数占所有Internet用户数的比例来表示。
即:用户链接数 = (访问人数/全部Alexa用户数)* 100%,Alexa以每百万人作为计数单位。以雅虎(Yahoo)为例,如果它的用户链接数为28%的话,就是说,随意抽取一百万的Internet用户,其中有280,000人访问Yahoo。

3、 页面浏览数(Page Views) 是指用户访问了某个特定网站的多少个页面。是所有访问该网站的用户浏览的页面数之和。每个用户浏览的页面数取平均值,是所有访问该网站的用户每天每人浏览的独立页面数的平均。同一人、同一天、对同一页面的多次浏览只记一次。


其它影响因素
1、 受使用Alexa工具栏用户的语言、地域、文化等各方面的影响。因此英文网站相对于其它语言的网站,访问量数据更容易被充分地统计。
2、 由于某种需要,用户可能过多的访问alexa.com、amazon.com和archive.org这三个网站,所以这几个网站的访问量可能被过高的统计。
3、 很容易受网站对自己宣传的程度、打广告的多少、别的网站为其建立链接的多少的影响。

我们无法评述这样的一个网站排名的公正性和科学性,但是可以肯定任何的计算方法都不完善,然而重要的是,通过以上的大揭密,您是否找到了让自己网站排名靠前的方法?问题关键在于:被排名的网站最好主动将自己的URL地址添加到Alexa 中,否则访问量的统计会受到影响,而且Alexa不提供这些网站访问量的详细统计。

一些问题的补充说明
1、 文中"Alexa排名机制——先决条件"第三条"提供同样内容的网站将被视为同一网站计算"是Alexa自己的声明,可是对于很多中文网站存在问题,比如新华网的两个域名:www.xinhuanet.com和www.xinhua.org,内容都是一样的,但是在alexa的排名中并没有把这两个域名当作一个网站,前者排名300多位,后者3000多位。相同的还有:

人民网 www.peopledaily.com.cn 1,030
人民日报 www.people.com.cn 566

CCTV.com www.cctv.com 197
中国中央电视台 www.cctv.com.cn 1,238

2、 一些网站的排名变化非常快,一天甚至一会儿就会变动近百万个名次。
3、 以三个月作为排名计算的基数,是每个网站按照绝对的时间段,比如一到三月、四到六月,还是每个网站按照自己相对的时间段,假设新华网是5月15日第一次登录Alexa网站,然后8月15日公布排名。

就以上三个问题,笔者发了Email给Alexa的服务中心以求解答,可是半个月后的今天仍然未有回音,当然邮件也没有因为找不到地址被退回。
2006/4/26

win2003+asp+php+mysql+zend+phpmyadmin服务器环境

一、软件准备

1、windos2003
2、IIS6.0
3、php-5.0.4-Win32
4、mysql-5.1.6-alpha-win32
5、ZendOptimizer-2.6.0-Windows-i386
6、phpMyAdmin-2.7.0-pl2

二、开始安装

请确认已经安装好了windos2003+IIS6.0

第一步:安装PHP

1、将下载得到的php-5.0.4-Win32解压移动到自己需要放置的目录;

2、将PHP目录下和 php/ext 目录下的所有.dll文件复制到 WINDOWS\system32 目录里;

3、将PHP目录下的php.exe、php-win.exe和php.ini-dist三个文件拷到C:\Windows目录下;

4、将C:\Windows\php.ini-dist改名为php.ini,然后用记事本打开,

(1)利用记事本的查找功能搜索

register_globals = Off     将 Off 改成 On ;

(2)再搜索

extension_dir =     并将其路径指到你的 PHP 目录下的 ext 目录,比如:extension_dir = "C:\Inetpub\php\ext"

(3)搜索找到

;Windows Extensions   将下面列举的

;extension=php_dbase.dll

;extension=php_gd2.dll   (这是用来支持GD库的)

;extension=php_ldap.dll

;extension=php_mbstring.dll (这不选一般用PHPMYADMIN会出红色提示,故必选)

;extension=php_mssql.dll (这个是用来支持MSSQL的,可选)

;extension=php_mysql.dll (这个是用来支持MYSQL的,要支持MYSQL必选)

将这些前的";"去掉,其他的你需要的也可以去掉前面的;然后关闭保存该文件。


5、配置 IIS 使其支持 PHP:

打开 IIS 后停止服务,然后在左侧默认Web站点上单击右键选择“属性”,
在打开的“ Web 站点属性”窗口的“ISAPI 筛选器”标签里找到并点击“添加”按钮,
在弹出的“筛选器属性”窗口中的“筛选器名称”栏中输入:PHP ,再将可执行文件指向 php5isapi.dll
所在路径,如:C:\Inetpub\php\php5isapi.dll 。


打开“Web 站点属性”窗口的“主目录”标签,找到并点击“配置”按钮,
在弹出的“应用程序配置”窗口中找到并点击“添加”按钮,
在弹出的窗口中新增一个扩展名映射,扩展名为 .php ,单击“浏览”将可执行文件指向 php5isapi.dll
所在路径,如:C:\Inetpub\php\php5isapi.dll,然后一路确定即可。


再打开“Web 站点属性”窗口的“文档”标签,找到并点击“添加”按钮,向默认的 Web
站点启动文档列表中添加 index.php 项。
您可以将 index.php 升到最高优先级,这样,访问站点时就会首先自动寻找并打开 index.php 文档。


确定 Web 目录的应用程序设置和执行许可中选择为“纯脚本”,然后关闭 Internet 信息服务管理器,

在命令提示符中执行如下命令:

net stop w3svc
net stop iisadmin
net start w3svc


然后在“Internet 服务管理器”左边的“WEB服务扩展”中设置
ISAPI 扩展   允许,
Active Server Pages   允许。


在 IIS 根目录下新建一个 phpinfo.php ,命名为:index.php 内容如下:

<?php
phpinfo();
?>

打开浏览器,输入:http://localhost/
将显示当前服务器所支持 PHP 的全部信息。


第二步:安装 MySQL

将下载得到的 mysql-5.1.6-alpha-win32 直接双击安装即可(注意安装目录不要太深,路径中不要出现空格)。

安装过程中会提示你是不是立即进行配置,选择否即可完成安装。

安装完毕后,在“开始”菜单里面有配置向导MySQL Server Instance Config Wizar,
运行后按下面步骤配置设置ROOT密码即可


ROOT密码,建议社设置复杂点,确保服务器安全!

第三步:安装 Zend Optimizer

将下载后得到 ZendOptimizer-2.6.0-Windows-i386 直接双击安装即可,
安装过程要你选择 Web Server 时,选择 IIS ,然后提示你是否 Restart Web Server,选择是,完成安装之前提示是否备份 php.ini ,点确定后安装完成。

Zend Optimizer 的安装向导会自动根据你的选择来修改 php.ini 帮助你启动这个引擎。

打开 php.ini 搜索:
zend_optimizer.optimization_level=15

优化程度,这里定义启动多少个优化过程,默认值是 15 ,
表示同时开启 10 个优化过程中的 1-4 ,我们可以将这个值改为 1023,表示开启全部10个优化过程。


第四步:安装GD库

这一步在前面PHP.INI配置中实际上已经安装好了,

在php.ini里找到

"extension_dir",然后将路径指向extension,如下(假设你的php安装路
径为:C:\Inetpub\php,设置extension_dir = "C:\Inetpub\php\ext",完成这步后,
在 php.ini 里找到 "extension=php_gd2.dll" 这一行,并且去掉前面的分号,gd库安装完成。


第五步:安装 phpMyAdmin

将下载得到的 phpMyAdmin-2.7.0-pl2 ,解压到 IIS 默认网站根目录,
找到并打开 config.default.php,做以下修改:

1、搜索   $cfg['PmaAbsoluteUri']   ,设置你的phpmyadmin的URL,
如:   $cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/';

注意这里假设phpmyadmin在默认站点的根目录下

2、搜索$cfg['blowfish_secret'],设定好root密码后这里也要填写mysql设置时的密码

3、搜索 $cfg['DefaultLang']   ,将其设置为 zh-gb2312

4、搜索 $cfg['DefaultCharset'] ,将其设置为 gb2312

5、搜索 $cfg['Servers'][$i]['auth_type'] ,默认为config,是不安全的,不推荐,推荐使用cookie,
将其设置为   $cfg['Servers'][$i]['auth_type'] = 'cookie';

打开浏览器,输入:http://localhost/phpMyAdmin/ ,若 IIS 和 MySQL
均已启动,输入用户ROOT密码即可浏览数据库内容。
2005/12/16

Linux 常用命令

Linux 命令的基本格式:

①命令 [参数] 目录或文件

②参数由“-”或“――”引导

③ Linux 命令区分大小写

一)文件和目录操作命令

• pwd (print working directory)

功能说明: 显示工作目录。

语法: pwd [ --help] [ --version]

参数: -- help 在线帮助

--version 显示命令的版本号

• cd ( change directory)

教 学 过 程
教学方法
时间分配

功能说明: 切换目录。

语法: cd [ 目的目录 ]

说明:① cd 指令可让用户在不同的目录间切换,但该用户必须拥有足够的权限进入目的目录。

② Linux 系统中,用“ . ”代表当前目录;用“ .. ”代表父目录;用“ ~ ”代表用户的个人主目录。



• ls (list)

功能说明: 列出目录内容

主要参数:

-a 或 --all 下所有文件和目录。

-i 或 --inode 显示文件和目录的 inode 编号。

-l 使用详细格式列表。

• mkdir ( make directories )

功能说明: 建立目录

语 法: mkdir [ -p] [ --help] [ --version] [ -m 《 目录属性 》] [ 目录名称 ]

参数说明: 

-m《 目录属性 》 或 --mode《 目录属性 》 建立目录时同时设置目录的权限。

-p 或 --parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录。

--verbose 执行时显示详细的信息。

  注意:要注意各参数的顺序

6 、 rmdir (remove directory)

功能说明: 删除目录。当有空目录要删除时,使用本命令。

语法: rmdir [ 参数 ]  目录名

主要参数:

-p 或 --parents 删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除。



• cp(copy)

功能说明: 复制文件或目录。

格式: cp [ 参数 ] 源文件 目标文件

主要参数:

-f 或 --force 强行复制文件或目录,不论目标文件或否已存在。(在有些版本中似乎无效。)

-i 或 --interactive 覆盖既有文件之前先询问用户。

-R 或 --recursive 递归处理,将指定目录下的所有文件与子目录一并处理。

• rm(remove)

功能说明: 删除文件或目录。

语 法: rm [ 参数 ] [ 文件或目录 ...]

注意: 执行 rm 指令可删除文件或目录,如欲删除目录必须加上参数 "-r" ,否则预设仅会删除文件。

主要参数:

-d 或 --directory 直接把欲删除的目录的硬连接数据删成

0 ,删除该目录。

-f 或 --force 强制删除文件或目录。

-i 或 --interactive 删除既有文件或目录之前先询问用

户。

-r 或 -R 或 --recursive 递归处理,将指定目录下的所有文

件及子目录一并处理。

8 、 mv (move)

功能:移动或更名现有的文件或目录。

格式: mv [ 参数 ] 源文件或目录  目标文件或目录

主要参数:

-f 或 --force 若目标文件或目录与现有的文件或目录重复,

则直接覆盖现有的文 件或目录。

-i 或 --interactive 覆盖前先行询问用户。





• grep

功能说明: 查找文件里符合条件的字符串。

参数说明:

-c 或 --count 计算符合范本样式的列数。

-b 或 --byte-offset 显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。

- num 输出匹配行前后各 num 行的内容。



• cmp

功能说明: 比较两个文件是否有差异。

语 法: cmp [ -clsv] [ -i 《 字符数目 》] [ --help] [ 第一个文件 ] [ 第二个文件 ]



• diff

功能说明:比较两个文件内容的不同点。

- q  仅报告是否相同,不报告详细的差异

-I   忽略大小写的差异

(与 cmp 类似)

• stat (status)

功能说明: 显示 inode 内容。即显示文件或目录的各种信息。

语 法: stat [ 文件或目录 ]

• touch

功能说明: 改变文件或目录时间。

-a 或 --time=atime 或 --time=access 或 --time=use 只更改存取时间。

-m 或 --time=mtime 或 --time=modify 只更改变动时间。

-t《 日期时间 》 使用指定的日期时间,而非现在的时间。



二)文件内容显示命令

1 、 cat

作用:显示文件内容

语法: cat [ -AbeEnstTuv] [ --help] [ --version] fileName

说明:把档案串连接后传到基本输出(萤幕或加 》fileName 到另一个档案)

参数:

-n 或 --number 由 1 开始对所有输出的行数编号

-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号

-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行 -v 或 --show-nonprinting

范例:

cat -n textfile1 》textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里

cat -b textfile1 textfile2 》》textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。



• more

分页显示文件中的内容。

• less

与 more 类似。但功能更活。可以用 PageUp 和 PageDown 翻页。

• head

显示文件的前几行

例: head –n 10 index.txt 显示 index.txt 的前 10 行

head –c 20 index.txt 显示 indext.txt 的前 20 个字符。



• tail

显示文件的末尾几行,与 head 相反。

例 tail –n 10 index.htm

tail –c 30 index.htm



• sort

作用:将文件中的内容排序输出。

主要参数:

- r 反向排序

- o filename  把排序的结果输出到文件 filename



• uniq

作用:比较相邻的行,显示不重复的行。

例: uniq index.htm



• file

作用:显示文件或目录的类型

  例: file filename

file etc/php.ini



• locate

作用:查找绝对路径中包含指定字符串的文件。

例: locate [–d path ] string

10 、 which

作用:确定程序的具体位置

例: which find

• help 、 man   提供帮助信息

• init 、 shutdown 、 halt 、 reboot 、 poweroff     ( init 、 shutdown 重点)

init 0 停止系统

init 1   单用户

init 2   多用户、但不支持 NFS

init 3   全多用户模式、即系统正常的模式

init 5   进入 X11( 即窗口模式 )

init 6   重启系统。

5 、

Shutdown

用法: Shutdown [ 参数 ]  时间  [ 警告消息 ]   在指定时间关闭系统

- r 系统关闭后重启

- h 关闭后停机

- now   表示立即关机

hh:mm: 指定绝对时间

+ m 表示 m 分钟后以后



halt 立即停止系统

reboot 立即重启系统

poweroff 立即停止系统,并且关闭电源



• alias 、 unalias 、 history

alias 创建命令的别名

用法: alias 命令名 =” 命令行 ”

例: alias mydir=”ls –color”

unalias 删除命令的别名

例: unalias mydir

history   显示用户最近执行的命令

• su

su[ 用户名 ]   改变用户的 ID 或成为超级用户。

• who 、 whoami 、 w 、 last
2005/9/28

ASP网页的调用代码


1. 将彻底屏蔽鼠标右键,无右键菜单
<body oncontextmenu="window.event.returnvalue=false">

也可以用于网页中Table框架中
<table border oncontextmenu=return(false)><td>no</table>


2.取消选取、防止复制
<body onselectstart="return false">


3.不准粘贴
<body onpaste="return false">


4.防止复制
<body oncopy="return false;" oncut="return false;">


5.IE地址栏前换成自己的图标
<link rel="Shortcut Icon" href="favicon.ico">

说明:关于favicon.ico文件的制作。你可以先在FW中做一个图片,属于你自己站点一个小图标。然后在ACD see将文件属性改为*.ico,然后将你做的*.ICO文件传到你的服务器目录中,然后就可以使用以上代码来实现,当别人登陆你的站点时,地址栏里使用的就是你自定义的图标了。


6.可以在收藏夹中显示出你的图标
<link rel="Bookmark" href="favicon.ico">

说明:制作方法和上面的一样。只是显示的方式不同,这个是在别人收藏你的网页地址时显示的个性图标。


7.关闭输入法
<input style="ime-mode:disabled">

说明:这段代码是在表格提交时用到的。也就是在输入数据时不可以使用其他输入法模式。


8.永远都会带着框架
< language="java ><!--
 if (window == top)top.location.href = "frames.htm";// --></

说明:frames.htm为你的网页,这也是保护页面的一种方法


9.防止被人frame
< LANGUAGE=java <!--
 if (top.location != self.location)top.location=self.location;
// --></


10.网页将不能被另存为
<no <iframe src=*.html></iframe></no
说明:<noscirpt>的用法很广,其中一条就是可以使JS广告失效。


11.查源文件
<input type=button value=查看网页源代码
onclick="window.location = 'view-source:'+ [url]http://bbs.055.cn/test.htm[/url]';">


12.COOKIE脚本记录,有很大的用处哦

function get_cookie(Name) {
var search = Name + "="

var returnvalue = "";

if (documents.cookie.length > 0) {

offset = documents.cookie.indexOf(search)

if (offset != -1) { // if cookie exists

offset += search.length

// set index of beginning of value

end = documents.cookie.indexOf(";", offset);

// set index of end of cookie value

if (end == -1)

end = documents.cookie.length;

returnvalue=unescape(documents.cookie.substring(offset, end))

}

}

return returnvalue;

}


function loadpopup(){

if (get_cookie('popped')==''){

openpopup()

documents.cookie="popped=yes"

}

}

说明:以上是JS代码,请自己加起始符和结束符


13.内框架<IFRAME>使用
Iframe标记的使用格式是:   

<iframe src="URL" width="x" height="x" scrolling="[OPTION]" frameborder="x"
name="main"></iframe>
src:文件的路径,既可是HTML文件,也可以是文本、ASP等  
width、height:"内部框架"区域的宽与高;   
scrolling:当SRC的指定的HTML文件在指定的区域不显不完时,滚动选项,如果设置为NO,则不出现滚动条;如为Auto:则自动出现滚动条;如为Yes,则显示;  FrameBorder:区域边框的宽度,为了让“内部框架“与邻近的内容相融合,常设置为0。
name:框架的名字,用来进行识别。
比如:  当你想用父框架控制内部框架时,可以使用: target="框架的名字"来控制。

例子:<iframe name="mm" src="http://bbs.055.cn";;; width="100%" height="100%" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no"></iframe>


14.自动跳转
在源代码中的<head>…</head>加入如下代码:
<meta http-equiv="refresh"content="3;URL=http://bbs.055.cn; charset=gb2312">

说明:content="3 表示3秒刷新到URL


15.如何改变链接的鼠标形状
只需在链接上加上这一代码就行的了
或者跟上面的用CSS写也行

style="cursor:hand"       style="cursor:crosshair"
style="cursor:text"       style="cursor:wait"
style="cursor:move"       style="cursor:help"
style="cursor:e-resize"     
style="cursor:n-resize"
style="cursor:nw-resize"     style="cursor:w-resize"
style="cursor:s-resize"     
style="cursor:se-resize"
style="cursor:sw-resize"

以上代码你只需要加到连接或是页面的style区里就可以实现鼠标多样化。


16.全屏显示
<form>
<div align="center">
<input type="BUTTON" name="FullScreen" value="全屏显示" onClick="window.open(document.location, 'big', 'fullscreen=yes')">
</div>
</form>

把它放到<body>区中。


17.设为首页

< language="java >
<!--
function defaul_home(){
this.home.style.behavior='url(#default#homepage)';this.home.setHomePage([url]http://bbs.055.cn/[/url]';
}
var focusok=false;
if (navigator.appName == "Netscape"{
focusok=true;
}
vers=navigator.appVersion;
if (navigator.appName == "Microsoft Internet Explorer"{
pos=vers.lastIndexOf('.');
vers=vers.substring(pos-1,vers.length);
}
proper_version=parseFloat(vers);

if(proper_version>=5){
focusok=true;
}
function launchstock1(htmlurl){
var stock=window.open(htmlurl,"stock","top=2,left=2,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,
resizable=no,width=700,height=510";
if(focusok){
stock.focus();
}
return true;
}
function launchstock(){
var stock=window.open("","stock","top=2,left=2,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,

resizable=no,width=700,height=510";
if(focusok){
stock.focus();
}
return true;
}
// -->
</
<a href="#" name="home" onClick="defaul_home();" title="==E代时光==">设为首页</a>


18.这里是加入收藏夹的代码

<a href="#" onClick="window.external.addFavorite([url]http://bbs.055.cn[/url]';.'拂晓雅阁')" target="_self" title="拂晓雅阁">加入收藏夹</a>


19.flash图片效果
以下代码加入<head>区域
< language="java >
<!--
function makevisible(cur,which){
if (which==0)
cur.filters.alpha.opacity=100
else
cur.filters.alpha.opacity=20
}

//-->

</
以下代码加入<body>区域
<img src="http://bbs.055.cn/images/logo.gif";;; style="filter:alpha(opacity=20)" onMouseOver="makevisible(this,0)" onMouseOut="makevisible(this,1)" width="63" height="56"> //图片地址请自己改


20.load 进度条

<table cellspacing="0" cellpadding="0" bgcolor="#FFFFFF" width="40%" id="P"><tr><td>
<table cellspacing="0" cellpadding="0" bgcolor="#0000FF" height="18" id="Q"><tr><td></td></tr></table></td></tr></table>
</center>
< language=java
var R = 0; load();
function load() {R = R + 2; Q.style.width = R + "%"; time= setTimeout("load()",50);
if (R > 100) {clearTimeout(time); P.style.width=0}}
</
27 全屏
< language=java
window.open('index.asp','','fullscreen=1');
</


21.背景图片滚动

<body scroll="no" background="images/bg.jpg" link="#00FF00" alink="#FF0000" vlink="#00FF00" bgcolor="#000080" topmargin="8">
< language="java >
var backgroundOffset = 0;
var bgObject = eval('document.body');
function scrollBG(maxSize) {backgroundOffset = backgroundOffset + 1;
if (backgroundOffset > maxSize) backgroundOffset = 0;
bgObject.style.backgroundPosition = "0 " + backgroundOffset;}
var ScrollTimer = window.setInterval("scrollBG(410)", 20)
</


22.网页不会被缓存

HTMl网页
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
或者<META HTTP-EQUIV="expires" CONTENT="0">
ASP网页
 Response.Expires = -1
 Response.ExpiresAbsolute = Now() - 1
 Response.cachecontrol = "no-cache"
PHP网页
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT";
header("Cache-Control: no-cache, must-revalidate";
header("Pragma: no-cache";


23.

<%
'定义数据库连接的一些常量
Const adOpenForwardOnly   = 0 '游标只向前浏览记录,不支持分页、Recordset、BookMark
Const adOpenKeyset     = 1 '键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark
Const adOpenDynamic     = 2 '动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览(ACCESS不支持)。
Const adOpenStatic     = 3 '静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动
Const adLockReadOnly    = 1 '锁定类型,默认的,只读,不能作任何修改
Const adLockPessimistic   = 2 '当编辑时立即锁定记录,最安全的方式
Const adLockOptimistic   = 3 '只有在调用Update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等
Const adLockBatchOptimistic = 4 '当编辑时记录不会被锁定,而更改、插入和删除是在批处理方式下完成的
Const adCmdText = &H0001
Const adCmdTable = &H0002
%>


24.最小化、最大化、关闭窗口
<object id=hh1 classid="clsidDB880A6-D8FF-11CF-9377-00AA003B7A11">
<param name="Command" value="Minimize"></object>
<object id=hh2 classid="clsidDB880A6-D8FF-11CF-9377-00AA003B7A11">
<param name="Command" value="Maximize"></object>
<OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM NAME="Command" value="Close"></OBJECT>
<input type=button value=最小化 onclick=hh1.Click()>
<input type=button value=最大化 onclick=hh2.Click()>
<input type=button value=关闭 onclick=hh3.Click()>

说明:本例适用于IE


25.判断上一页的来源

asp页:
request.servervariables("HTTP_REFERER"
java
document.referrer


26.光标是停在文本框文字的最后

< language="java >
function cc()
{
 var e = event.srcElement;
 var r =e.createTextRange();
 r.moveStart('character',e.value.length);
 r.collapse(true);
 r.select();
}
</
<input type=text name=text1 value="123" onfocus="cc()">

说明:适用于表格数据提交


27.怎样通过asp的手段来检查来访者是否用了代理
<% if Request.ServerVariables("HTTP_X_FORWARDED_FOR"<>"" then
response.write "<font color=#FF0000>您通过了代理服务器,"& _
"真实的IP为"&Request.ServerVariables("HTTP_X_FORWARDED_FOR"
end if
%>


28.取得控件的绝对位置

< language="java >
function getIE(e){
 var t=e.offsetTop;
 var l=e.offsetLeft;
 while(e=e.offsetParent){
  t+=e.offsetTop;
  l+=e.offsetLeft;
  }
 alert("top="+t+"\nleft="+l);
 }
</
file://VB
< language="VB ><!--
function getIE()
 dim t,l,a,b
 set a=document.all.img1
 t=document.all.img1.offsetTop
 l=document.all.img1.offsetLeft
 while a.tagName<>"BODY"
  set a = a.offsetParent
  t=t+a.offsetTop
  l=l+a.offsetLeft
 wend
 msgbox "top="&t&chr(13)&"left="&l,64,"得到控件的位置"
end function
--></

初用linux时可能有处处不方便的感觉, 可是等使用一段 时间掌握了一些技巧后就会感到越来越顺手了. 以下就是我 使用linux以来积累的一些经验与技巧, 相信对初学者会有所帮助的.

1. 使用虚拟控制台   
登录后按alt+f2键这时又可以看到"login:"提示符, 这 个就是第二个虚拟控制台. 一般新安装的linux有四个虚拟控 制台, 可以用alt+f1~alt+f4来访问. 虚拟控制台最有用的时 候是当一个程序出错锁住输入时可以切换到其他虚拟控制台 ?

2. 拷贝与粘贴  
字符界面: 不管是slackware 还是redhat 安装后每次启 动时都会自动运行一个叫gpm的程序, 该程序运行后就可以用 鼠标来拷贝与粘贴了. 具体做法是按住鼠标左键拖动使要拷贝的地方反白, 这时反白的区域已经被拷贝, 再按鼠标右键拷贝的内容就会被粘贴在光标所在位置了. x-window下: 拷贝的操作与字符界面下一样, 三键鼠标的话 按中键粘贴, 两键鼠标的话同时按左右键粘贴(须在配置xf86 时在鼠标的设置里选择 emulate 3 button).

3. 快速进入某些目录
键入 cd ~ 可进入用户的home目录. 键入 cd - 可进入上一个进入的目录.

4. 软驱的使用
如果是linux 的ext2文件系统用如下命令: #mount -t ext2 /dev/fd0 /mnt dos格式的软盘则用命令: #mount -t msdos /dev/fd0 /mnt 然后就可以在/mnt里访问软盘的内容了, 注意在取出软盘之 前要先卸掉软盘上的文件系统, #umount /mnt 否则会导致信息丢失. 在软盘上建立文件系统可用如下命令: #mke2fs /dev/fd0 1440

5. redhat下显示彩色目录列表
打开/etc/bashrc, 加入如下一行: alias ls="ls --color" 下次启动bash时就可以像在slackware里那样显示彩色的目录列表了, 其中颜色的含义如下:
蓝色-->目录
绿色-->可执行文件
红色-->压缩文件
浅蓝色-->链接文件
灰色-->其他文件

6. 显示文件的类型  
  用命令 file 可以使你知道某个文件究竟是elf格式的可执行文件, 还是shell script文件或是其他的什么格式 例如: #file startx

7 .命令文件的路径
当你键入一些命令如find, shutdown, mount, startx时是否 想过要知道这些文件究竟放在哪个目录里? 用命令 whereis 可以实现,如 #whereis startx

8. 查找文件
find 命令要加一些参数才能查到文件, 如: #find /usr -name xf86setup -print 在/usr里查找文件xf86setup.

9. 删除无用的core文件
程序运行出后有时候会产生一个名为core的文件, 这个文件一般很大而且没什么用, 可以删除掉以释放空间.

10. 一次解开.tar.gz文件
解开.tar.gz文件一般要先用gunzip解压再用tar解包, 在linux下可以一次完成, 如: #tar zxpvf sample.tar.gz

11. 显示win95分区里的长文件名   
如果你发现win95分区里的长文件命不能显示, 可以重新 用vfat方式来mount. 对于启动时就mount的分区可以修改文 件/etc/fstab, 将里面的msdos字样改为vfat. 如果无法用 vfat mount, 则要重新编译一下核心, 加入对vfat的支持.

12. linux 里的norton commander
   在提示符下键入命令mc后你就会看到一个与norton commander很相似的界面, 实际上功能也很相似甚至更强大, 比如可以直接对.tar.gz 压缩包里的文件进行操作(有点像 zipmagic).

13. 启动后直接进入x 编辑/etc/inittab文件,
把id:3:initdefautl改为 id:4:initdefautl. 不过搜索路径可能会有些问题, 关机时 你得直接进入/sbin 里去执行 shutdown.

14. 后台运行 x 程序
执行一个x程序时别忘了在后面加一个&号,如 #netscape & 否则的话在你推出执行的程序之前再无法在那个终端窗口里输入命盍?

15. 强行退出 x
有时候在 x 里由于程序出错鼠标键盘都不起作用, 这时 候不用着急, 因为在linux下几乎不会像在win95里那样恶性 死机, 你只须键入ctrl+alt+backspace键就可以回到字符界 面下了.

16. 重装win9x后lilo失效无法启动linux
  只须先用软盘启动linux然后运行一次lilo即可。对于 redhat可以用命令mkbootdisk来制作启动盘,例如: mkbootdisk --devices /dev/fd0 2.0.34-1 其中2.0.34-1是 /lib/modules下的一个目录。

17. 把dos/windows改为缺省启动的os  
redhat把linux作为lilo缺省启动的os,即出现 boot: 提示符后直接回车启动linux。如果想改为dos/windows,修 改文件/etc/lilo.conf,把有关启动dos的部分放在前面,再 运行一次lilo即可。例如把lilo.conf从:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b prompt
timeout=50
image=/boot/vmlinuz-2.0.34-1
label=linux
root=/dev/hdc5 read-only

other=/dev/hda1
label=dos
table=/dev/hda 改为:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b prompt
timeout=50
other=/dev/hda1
label=dos
table=/dev/hda
image=/boot/vmlinuz-2.0.34-1
label=linux
root=/dev/hdc5 read-only

18. 去掉引导区内的lilo信息
安装lilo后如果硬盘数量或分区情况有改变的话将导致硬盘不能启动,这时只须用软盘启动dos再运行 fdisk/mbr 即可。(这个方法还可清除任何引导区病毒)

19. 让 x 支持 agp 显卡
下载一个 ax 4.1 即 acceleratedx 4.1 , 一个商业版 的 x server 。除 agp 显卡外 ax 还支持很多牌号的显卡。 另外还可以用ax 带的设置程序 xsetup 方便的对分辨率,刷 新率等参数进行设置。不过我也不知道用agp卡效果如何,因 为我现在还在用老掉牙的 s3 765 。

20. 把 man 或 info 的信息存为文本文件
以 tcsh 为例: man tcsh | col -b > tcsh.txt info tcsh -o tcsh.txt -s

21. 用当前路径作提示符
对 bash 来说,在 .bashrc 里加一行: ps1="\$pwd\\$" 对 tcsh 来说,在 .tcshrc 里加一行: set prompt="%/>"

22. 压缩可执行文件
linux 下有一个类似 dos 里的 pklite 和 lzexe 的命 令 -- gzexe 。而且压缩率一般都可以超过 50% ,在空间紧 张时很有用。比如: /dosc/temp# ls -al total 148 -rwxr-xr-x 1 root root 149564 dec 8 15:33 gawk /dosc/temp# gzexe gawk gawk: 54.5% /dosc/temp# ls -al total 216 -rwxr-xr-x 1 root root 68710 dec 8 15:36 gawk -rwxr-xr-x 1 root root 149564 dec 8 15:33 gawk /dosc/temp#

23. 查看 linux 启动时的信息
  linux 启动时屏幕显示的信息来不及看清就一闪而过, 如果对这些信息感兴趣的话可以在启动完后用命令 dmesg 查看。
 

24. 处理文件名内含有特殊字符的文件  
如果有一个文件名叫 -file 如果想删除它,键入 rm -file 会显示 invalid option ,原来由于文件名的第一个字符为 - , linux 把文件名当作选项了,可以加 -- 解决 这个问题, 如 rm -- -file 。如果是其他特殊字符的话可 以在特殊字符前加一个 \ ,或者用双引号把整个文件名括起来。

25. 一次处理一整个目录
linux/unix 的很多常用命令如 rm , cp 等都有一个参 数 -r , 是递归的意思, 命令里加了参数 -r 就可以对目标目录及其下所有子目录进行操作,如: rm -rf /test (f 是 force 意为强行) , 该命令完全删除 根目录下的子目录 test ,作用类似于 dos 下的 deltree ,当然使用这个命令时要特别小心。再如: cp -r /test /test1 有类似 dos 下 xcopy /s 的作用。

26. 修改登录画面
对本机: 先修改文件 /etc/issue 改为相要显示的内容, 再修改文件 /etc/rc.d/rc.local(redhat) 或 /etc/rc.d/rc.s(slackware) 把下面几句注释掉: # this will overwrite /etc/issue at every boot. so, make any changes you # want to make to /etc/issue here or you will lose them when you reboot. echo "" > /etc/issue echo "red hat linux $r" >> /etc/issue echo "kernel $(uname -r) on $a $(uname -m)" >> /etc/issue cp -f /etc/issue /etc/issue.net echo >> /etc/issue 不然的话每次重新启动 /etc/issue 都会被更改。 对 telnet 的远地机器: 先把文件 /etc/usr/sbin/in.telnetd 改名,如改为 in.telnetd.exe ,再编一个名为 in.telnetd 的 shell 脚 本, 在显示完需要的内容后再调用 in.telnetd.exe 。如: #!/bin/sh cat /etc/login.banner #需要在登录提示符前显示的内容 echo -n "" exec /usr/sbin/in.telnetd.exe

27. 几个有用的别名
几个能方便操作和减少误操作的别名,建议把它们放到启动 文件里, 如 /etc/bashrc 。 alias rm=’rm -i’ alias cp=’cp -i’ alias mv=’mv -i’ #前三个别名的作用是在删除、覆盖文件之前先提示确认, redhat已经自动 #加上了,强烈建议slackware的用户也加上,因为 linux/unix下文件一旦删 #除就再也无法恢复了。 alias l=’ls -l’ alias cd..=’cd ..’ alias utar=’tar xvfz’ #解 *.tar.gz 文件 alias inforpm=’rpm -qpi’ #显示rpm包的信息 alias instrpm=’rpm -uhv’ #安装rpm包 alias listrpm=’rpm -qpl’ #列rpm包内的文件 alias uistrpm=’rpm -e’ #反安装rpm包

28. 使用命令补齐
所谓命令补齐(command-line completion)是指当键入的 字符足以确定目录下一个唯一的文件时只须按 tab 键就可以 自动补齐该文件名的剩下部分,例如要把目录 /freesoft 下 的文件 gcc-2.8.1.tar.gz 解包,当键入到 tar xvfz /freesoft/g 时如果该文件是该目录下唯一以 g 起头的文件 的话就可以按下 tab 键,这时命令会被自动补齐为:tar xvfz /freesoft/gcc-2.8.1.tar.gz ,非常方便。

29. 最后一条技巧  
有时间的话多看看系统提供的faq文件,因为通常遇到的 问题大多数都能在里面找到答案。

2005/9/22

Cygwin安装过程

Cygwin的安装


1.1 2.1. Cygwin是可以在Windows下执行的Linux运行环境


本来我是安装了Linux10,但是使用过程中还是需要经常回到windows查看一些文档啊、拷贝一些文件啊,太烦了,所以呢还是决定把Cygwin搞起来,这样在windows下工作就方便多了。

Cygwin的安装有两种方法:

一种是直接在线安装,这是按配置需要下载的,但是下载的东西会很多很大,400M左右,需要的时间比较长。

第二种是先到macraigor下载一个安装包,60多M,下载速度很快。安装选项也简单。然后再执行在线安装,安装Ncurses libraries就可以了。

我开始使用第一种方法,搞了几天,重复了很多次,可老是安装不好,最后还是用第二种方法搞定的。


1.2 2.2. 下载


1.2.1 2.2.1. CYGWIN(2.0.0)


See document: http://www.macraigor.com/full_gnu.htm <http://www.macraigor.com/full_gnu.htm>

60M.下载速度很快,我用ADSL下载速度达到70多K,比一般下载得快多了,不过我是后半夜下载的。:)


1.3 2.3. 安装


从macraigor下载的Cygwin2.0直接安装就可以了,安装过程很简单。但是似乎缺少一个组件Ncurses libraries,在make menuconfig的时候会报错,需要执行在线安装的步骤添加这个组件。


1.4 2.4. 在线安装


1.4.1 2.4.1. 下载setup.exe


See document:
www.cygwin.com <outbind://1/www.cygwin.com>

登陆
www.cygwin.com,页面上有一个Install Cygwin Now的连接,是一个setup.exe文件,直接打开也可以,推荐下载下来,存到一个目录里,这样可以把文件下载下来,以后安装就方便了。


1.4.2 2.4.2. 安装选项


必须安装的子目录(sub category): (把子目录旁边的”default”用鼠标点一下,直到变成”install”)



Archive



Base



Devel:包括gcc、make等编译工具



Libs



Net



DEShells



Utils: 包括bzip2等实用工具



如果是已经从macraigor下载安装了Cygwin,那么选择安装 Devel下的libncurses-devel一项就可以了。



大家可选择较快的下载地址,我是用的
mirrors.rcn.net,下载速度在20k左右。



必须通过cygwin提供的setup.exe进行安装,可根据安装提示一步一步进行,提供通过internet安装方式或本地安装方式。建议把cygwin整个安装包下载到本地再进行本地安装比较方便。如果无特殊需求,可简单按它的缺省安装方式安装最少数量的软件包。建议不要安装到c:\下。cygwin的问题和解答可参考cygwin FAQ。




1.5 设置


1.5.1 批处理文件


在自己生成交叉编译器之前,首先对Cygwin进行一些设置。假设Cygwin安装在e目录下,在打开Cygwin窗口之前,进入到E:\Cygwin目录。在这个目录下,有一个文件名为Cygwin.bat的批处理文件,编辑该文件,在第一行后加入set CYGWIN=title ntea,这是因为Cygwin的启动批处理文件需要启动Unix文件系统模拟。修改完毕且保存后退出。


1.5.2 SH链接


运行cygwin,在根目录下输入,cd bin

mv sh.exe sh-original.exe

ln –s bash.exe sh.exe

现在对cygwin的修改搞定。(有关修改问题大家可以看那个脚本给出的一个文档,
www.uclinux.org/pub/uclinux/archive/8306.html,帮助很大,因为这个文档对一些地方的修改做了非常详细的描述,大家仔细看看,按着进行相应改动就可以了,但是有些步骤因为由我们现在的patch就可以实现的,大家就可以不必修改,由补丁程序自动完成。


1.6 2.5. 运行


从程序组或者桌面启动Cygwin

输入:

cd /

ls

能列出目录说明就ok了。

Cygwin使用指南

Cygwin使用指南 (注:原文见:http://deve.blogdriver.com/deve/413931.html
根据cygwin user guide翻译整理,希望对大家有所帮助。有错误清指出。

1 引言
cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣。本文将对其作一介绍。

--------------------------------------------------------------------------------

根据cygwin user guide翻译整理,希望对大家有所帮助。有错误清指出。

1 引言
cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣。本文将对其作一介绍。

2 机理
cygnus当初首先把gcc,gdb,gas等开发工具进行了改进,使他们能够生成并解释win32的目标文件。然后,他们要把这些工具移植到windows平台上去。一种方案是基于win32 api对这些工具的源代码进行大幅修改,这样做显然需要大量工作。因此,他们采取了一种不同的方法——他们写了一个共享库(就是cygwin dll),把win32 api中没有的unix风格的调用(如fork,spawn,signals,select,sockets等)封装在里面,也就是说,他们基于win32 api写了一个unix系统库的模拟层。这样,只要把这些工具的源代码和这个共享库连接到一起,就可以使用unix主机上的交叉编译器来生成可以在windows平台上运行的工具集。以这些移植到windows平台上的开发工具为基础,cygnus又逐步把其他的工具(几乎不需要对源代码进行修改,只需要修改他们的配置脚本)软件移植到windows上来。这样,在windows平台上运行bash和开发工具、用户工具,感觉好像在unix上工作。
关于cygwin实现的更详细描述,请参考http://cygwin.com/cygwin-ug-net/highlights.html.

3 安装设置cygwin
3.1 安装
要安装网络版的cygwin,可以到http://cygwin.com,点击"Install Cygwin Now!"。这样会先下载一个叫做setup.exe的GUI安装程序,用它能下载一个完整的cygwin。按照每一屏的指示可以方便的进行安装。
3.2 环境变量
开始运行bash之前,应该设置一些环境变量。cygwin提供了一个.bat文件,里面已经设置好了最重要的环境变量。通过它来启动bash是最安全的办法。这个.bat文件安装在cygwin所在的根目录下。 可以随意编辑该文件。
CYGWIN变量用来针对cygwin运行时系统进行多种全局设置。开始时,可以不设置CYGWIN或者在执行bash前用类似下面的格式在dos框下把它设为tty
C:\> set CYGWIN=tty notitle glob

PATH变量被cygwin应用程序作为搜索可知性文件的路径列表。当一个cygwin进程启动时,该变量被从windows格式(e.g. C:\WinNT\system32;C:\WinNT)转换成unix格式(e.g., /WinNT/system32:/WinNT)。如果想在不运行bash的时候也能够使用cygwin工具集,PATH起码应该包含x:\cygwin\bin,其中x:\cygwin 是你的系统中的cygwin目录。
HOME变量用来指定主目录,推荐在执行bash前定义该变量。当cygwin进程启动时,该变量也被从windows格式转换成unix格式,例如,作者的机器上HOME的值为C:\(dos命令set HOME就可以看到他的值,set HOME=XXX可以进行设置),在bash中用echo $HOME看,其值为/cygdrive/c.
TERM变量指定终端型态。如果美对它进行设置,它将自动设为cygwin。
LD_LIBRARY_PATH被cygwin函数dlopen()作为搜索.dll文件的路径列表,该变量也被从windows格式转换成unix格式。多数Cygwin应用程序不使用dlopen,因而不需要该变量。
3.3 改变cygwin的最大存储容量
Cygwin程序缺省可以分配的内存不超过384 MB(program+data)。多数情况下不需要修改这个限制。然而,如果需要更多实际或虚拟内存,应该修改注册表的HKEY_LOCAL_MACHINE或HKEY_CURRENT_USER区段。田家一个DWORD键heap_chunk_in_mb并把它的值设为需要的内存限制,单位是十进制MB。也可以用cygwin中的regtool完成该设置。例子如下:
regtool -i set /HKLM/Software/Cygnus\ Solutions/Cygwin/heap_chunk_in_mb 1024
regtool -v list /HKLM/Software/Cygnus\ Solutions/Cygwin

4 使用cygwin
这一段讲一下cygwin和传统unix系统的不同之处。
4.1 映射路径名
4.1.1 引言
cygwin同时支持win32和posix风格的路径,路径分隔符可以是正斜杠也可以是反斜杠。还支持UNC路径名。(在网络中,UNC是一种确定文件位置的方法,使用这种方法用户可以不关心存储设备的物理位置,方便了用户使用。在Windows操作系统,Novell Netware和其它操作系统中,都已经使用了这种规范以取代本地命名系统。在UNC中,我们不用关心文件在什么盘(或卷)上,不用关心这个盘(或卷)所在服务器在什么地方。我们只要以下面格式就可以访问文件:
\\服务器名\共享名\路径\文件名
共享名有时也被称为文件所在卷或存储设备的逻辑标识,但使用它的目的是让用户不必关心这些卷或存储设备所在的物理位置。)
符合posix标准的操作系统(如linux)没有盘符的概念。所有的绝对路径都以一个斜杠开始,而不是盘符(如c:)。所有的文件系统都是其中的子目录。例如,两个硬盘,其中之一为根,另一个可能是在/disk2路径下。
因为许多unix系统上的程序假定存在单一的posix文件系统结构,所以cygwin专门维护了一个针对win32文件系统的内部posix视图,使这些程序可以在windows下正确运行。在某些必要的情况下,cygwin会使用这种映射来进行win32和posix路径之间的转换。
4.1.2 cygwin mount表
cygwin中的mount程序用来把win32盘符和网络共享路径映射到cygwin的内部posix目录树。这是与典型unix mount程序相似的概念。对于那些对unix不熟悉而具有windows背景的的人来说,mount程序和早期的dos命令join非常相似,就是把一个盘符作为其他路径的子目录。
路径映射信息存放在当前用户的cygwin mount表中,这个mount table 又在windows的注册表中。这样,当该用户下一次登录进来时,这些信息又从注册表中取出。mount 表分为两种,除了每个用户特定的表,还有系统范围的mount表,每个cygwin用户的安装表都继承自系统表。系统表只能由拥有合适权限的用户(windows nt的管理员)修改。
当前用户的mount表可以在注册表"HKEY_CURRENT_USER/Software/Red Hat, Inc./Cygwin/mounts v" 下看到。系统表
存在HKEY_LOCAL_MACHINE下。
posix根路径/缺省指向系统分区,但是可以使用mount命令重新指向到windows文件系统中的任何路径。cygwin从win32路径生成posix路径时,总是使用mount表中最长的前缀。例如如果c:被同时安装在/c和/,cygwin将把C:/foo/bar转换成/c/foo/bar.
如果不加任何参数地调用mount命令,会把Cygwin当前安装点集合全部列出。在下面的例子中,c盘是POSIX根,而d盘被映射到/d。本例中,根是一个系统范围的安装点,它对所有用户都是可见的,而/d仅对当前用户可见。
c:\> mount
f:\cygwin\bin on /usr/bin type system (binmode)
f:\cygwin\lib on /usr/lib type system (binmode)
f:\cygwin on / type system (binmode)
e:\src on /usr/src type system (binmode)
c: on /cygdrive/c type user (binmode,noumount)
e: on /cygdrive/e type user (binmode,noumount)
还可以使用mount命令增加新的安装点,用umount删除安装点。
当Cygwin不能根据已有的安装点把某个win32路径转化为posix路径时,cygwin会自动把它转化到一个处于缺省posix路径/cygdrive下的的一个安装点. 例如,如果Cygwin 访问Z:\foo,而Z盘当前不在安装表内,那么Z:\将被自动转化成/cygdrive/Z.
可以给每个安装点赋予特殊的属性。自动安装的分区显示为“auto”安装。安装点还可以选择是"textmode"还是 "binmode",这个属性决定了文本文件和二进制文件是否按同样的方式处理。
4.1.3 其他路径相关信息
cygpath工具提供了在shell脚本中进行win32-posix路径格式转换的能力。
HOME, PATH,和LD_LIBRARY_PATH环境变量会在cygwin进程启动时自动被从Win32格式转换成了POSIX格式(例如,如果存在从该win32路径到posix路径的安装,会把c:\cygwin\bin转为/bin)。

2005/9/21

WindowsXP/2000 下的 Apache+PHP+MySQL 初级建站指南

相信很多朋友对 Win2000/XP/2003+Apache+PHP+MySQL+Zend 这样的组合感兴趣,但很多朋友不懂得安装和配置,导致不能正常运行。edx在这里写一篇简单建站 指导,希望对众电脑爱好者有用。
WindowsXP/2000 下的 Apache+PHP+MySQL 初级建站指南

前言--------------------------------------------------------------------------------

相信很多朋友对 Win2000/XP/2003+Apache+PHP+MySQL+Zend 这样的组合感兴趣,但很多朋友不懂得安装和配置,导致不能正常运行。edx在这里写一篇简单建站 指导,希望对众电脑爱好者有用。

Apache HTTP Server 是全球应用最广泛的HTTP服务器,它具有稳定、安全、高效的特点。据今年九月的
Netcraft Web Server Survey ,全球67%的Website正在使用Apache HTTP Server 。

PHP是一种新型的CGI程序编写语言,易学易用,运行速度快,可以方便快捷地编写出功能强大并可同时运行于Windows、Unix、Linux 平台的Web后台程序,内置了对文件上传、密码认证、Cookies 操作、邮件收发、 动态GIF生成等功能,PHP直接为很多数据库提供原本的连接,包括Oracle,Sybase,Postgres,Mysql,Informix,Dbase,Solid,Access 等 ,完全支持ODBC接口,用户更换平台时,无需变换PHP代码,可即拿即用,而且完全免费。

-什么是CGI-

MySQL是一个精巧的SQL数据库管理系统,“The world's most popular open source database”由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。

我们配置这个站点还需要一些辅助软件支持,如phpmyadmin,zend等,我会在后文中介绍。

请跟我来:

Apache HTTP Server安装

--------------------------------------------------------------------------------
在写此文的时候,Apache HTTP Server 版本为2.052,


记得下载Win32 Binary版本。

http://httpd.apache.org/download.cgi  -点这里进入官方下载页面-

 

下载完后,点击运行安装,基本是“Next” “i agree”步骤。 第三页面添上域名、服务器名和admin的邮箱,后面的都默认即可。

安装完成后任务栏出现了类似一片羽毛的图标,那就是Apache的Monitor,此时Apache已经开始工作了。打开任务管理,可以看到apache.exe的进程。

打开IE,在地址栏输入http://localhost ,应该能看到“安装测试页面”。

 

Apache HTTP Server配置

--------------------------------------------------------------------------------
打开开始菜单,进入 Apache sererconfig Apache serceredit http.conf file 配置参数(重要!)

http.conf 文件配置几个要注意的地方:(前面有#号的是注释)

第122行,开始的是"动态共享对象"配置。

LoadModule autoindex_module modules/mod_autoindex.so在这行前面加#号,关掉autoindex功能。-http://httpd.apache.org/docs-2.1/mod/mod_autoindex.html" target="_blank">点这里查看autoindex情况-(如果不关闭此工能,下面操作前加"~"的可以忽略。

在最后加上一行 LoadModule php5_module C:/PHP/sapi/php4apache2.dll(假设我们将php装到此目录)

第228行,设置默认WEB目录:DocumentRoot " 默认目录名" 如 "C:Documents and SettingsXXXMy DocumentsMy web" 并把253行设为与此相同。

第238行,这只目录访问属性,安全起见,这里默认设置是很严格的。同样在这里还可以设置虚拟路径 http://httpd.apache.org/docs-2.0/mod/mod_alias.html" target="_blank">-点这里查看更多关于Alias-

第321行,设置默认页文件名,如DirectoryIndex index.html index.html.var index.php

~第480行,从<Directory " xxx /xxx/ icons"> 到 </Directory> 和 <Directory " xxx /xxx/ manual">到</Directory>,在前加#号。

~第546行,IndexOptions加#,后面接着的Addicon开头的全部加#,第586行DefaultIcon加#。

~第604行,ReadmeName 第605行 HeaderName 第611行IndexIgnore加# 。

第527行,找到 <Directory "C:/Apache2/cgi-bin"> ,在 </Directory> 后面,加入下面行:

AddType application/x-httpd-php .php

第701行,设置默认语言编码: AddDefaultCharset GB2312

记得保存设置!

另外,这个配置只是最基本配置,并未考虑太多安全性和效率问题,有兴趣研究的读者可以查看http://httpd.apache.org/docs-2.1"target='_blank'>官方文档。

 

附注:

一,关于Apache服务器的目录安全认证

在ApacheServer中是允许使用.htaccess做目录安全保护的,欲读取这保护的目录需要先键入正确用户帐号与密码。这样可做为专门管理网页存放的目录或做为会员区等。

在保护的目录放置一个档案,档名为 .htaccess ,内容为:

AuthName "会员区"

AuthType "Basic"

AuthUserFile " D:xxx.userpw" (网站外地地方比较安全)

然后用bin目录下的 htpasswd-c xxx.userpw 创建.htaccess 文件,放到D:下面即可。

二,关于虚拟目录设置

在配置文件中有如下默认行:

<Directory />

Options FollowSymLinks

AllowOverride None

</Directory>

在后面加上这些句子:

<Directory D:WEB2>

Options FollowSymLinks

AllowOverride None

</Directory>

Alias /WEB2 D:WEB2

然后在主目录新建目录名为WEB2,这时当用户访问 http://yourhost/web2时,实际访问的就是 D:WEB2 的内容。

 

 


PHP安装

--------------------------------------------------------------------------------


在 PHP 5 中的一个改变就是不再绑定客户端库本身了,Windows 用户可以在 php.ini 中激活 php_mysql.dll 扩展库。此外,要将 libmySQL.dll 拷贝到适当的 %SYSTEMROOT% 目录中,和 dll 目录中其它绑定的 dll 一样,但和mysql连接的时候还是出了些问题,所以暂时我并不推荐使用5.0 。

http://www.php.net/manual/zh/faq.databases.php#faq.databases.mysql.php5 

点击这里查看关于PHP5的更多问题-

 

我们打算安装4.3.9版本,我下载的是Windwos Binaries ,PHP php-4.3.9-Win32.zip package 。

http://www.php.net/downloads.php  点击这里进入官方下载页面-

下载完成后,把它解压到C:PHP目录下。

将目录下的 php.ini-recommend 复制到 C:WINDOWS 目录下,然后改名为php.ini 。

将目录下的php4ts.dll拷贝到 C:WINDOWSSYSTEM32 下面。

 

PHP配置

--------------------------------------------------------------------------------


打开C:WINDOWSphp.ini ,有些设置需要注意一下:

magic_quotes_gpc = 默认是关闭的,如果网页有问题再打开试试

register_globals = 同上

session.save_path = "C:PHPTMP" (先在C:PHP下面建立TMP目录)

http://www.php.net/manual/zh/   -点击这里打开php官方文档-

 

MySQL安装

--------------------------------------------------------------------------------


我安装的是4.17版 Windows (x86) 。

http://dev.mysql.com/downloads/mysql/4.1.html  -点击进入下载页面-

安装界面非常友好,默认配置就可以了,最后skip sign up ,装完后进入配置页面,设为系统服务,按自己情况设置即可。

打开开始菜单,Mysql->MySQL Command Line Client,输入密码,如果登陆成功,表示MySQL安装成功。

如果有问题,新建txt文件,输入<? php phpinfo(); ?> 改名为info.php ,用IE打开,就可以查看php、mysql、apache的配置情况了。

http://dev.mysql.com/doc/mysql/en/index.html  点击这里打开官方文档-

 

phpMyAdmin安装配置

--------------------------------------------------------------------------------


phpMyAdmin是一个用PHP编写的,可以通过互联网控制和操作MySQL。通过phpMyAdmin可以完全对数据库进行操作,例如建立、复制/删除数据等等。phpMyAdmin在很多国内网站都有下载,edx安装的是2.60final,解开压缩包放到网页的主目录(如装apache设定的 My Web )下即可。

打开主目录下的 config.inc.php ,要改动的地方:

$cfg['PmaAbsoluteUri'] = 'http://localhost/phpMyAdmin/'

$cfg['Servers'][$i]['auth_type'] = 'cookie'

$cfg['blowfish_secret'] = 'your sql password here'

或者 $cfg['Servers'][$i]['auth_type'] = 'http',并且请置空上一行。

$cfg['Servers'][$i]['user'] = ''(默认为root,请置空)

以下为可选项目:(在此之前,请建立名为phpmyadmin数据库,导入 scripts下的create_tables_mysql_4_1_2+.sql,和upgrade_tables_mysql_4_1_2+.sql 用来打开扩展功能)

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';

$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';

$cfg['Servers'][$i]['relation'] = 'pma_relation';

$cfg['Servers'][$i]['table_info'] = 'pma_table_info';

$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';

$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';

$cfg['Servers'][$i]['column_info'] = 'pma_column_info';

$cfg['Servers'][$i]['history'] = 'pma_history';

此软件主目录下的Documentation.html提供了详细的配置指南以及常见问题。

 

安装完成后,在浏览器输入地址 http://localhost/phpmyadmin,出现登陆框,输入root用户和密码,即可进入图形界面方便的管理mysql了。

 

安装ZendOptimizer

 

--------------------------------------------------------------------------------


Zend对php的贡献很大,php4的引擎就是用Zend的,而且它还开发了ZendOptimizer和 ZendEncode等许多php的加强组件。优化器ZendOptimizer在 http://www.zend.com 可以免费得到 。

http://www.zend.com/store/products/zend-optimizer.php" target="_blank">点击这里查看ZEND -

我安装的是 ZendOptimizer-2[1].5.5-Windows-i386.exe 。 安装时他会自动寻找apache和php的设置目录,并且备份 php.ini文件 ,一般默认即可。

用IE打开info.php ,看到Zend图标左边有下面文字: with Zend Optimizer v x.x.x, Copyright (c) 1998-200x, by Zend Technologies 那么,优化器已经挂接成功了。

 

测试页面

--------------------------------------------------------------------------------


我打算用Discuz!论坛作测试。

http://www.discuz.com/" target="_blank">-点击打开Discuz主页-

 

在主页下载后解压到网站的主目录(Apache设定的那个目录),在浏览器输入地址: http://localhost/discuz!/install.php,然后一步一步设置即可。

另外,如果以后要改变配置,可以在主目录下的config.php中修改,如:

$dbhost = 'localhost'; // 数据库服务器

$dbuser = ''; // 数据库用户名

$dbpw = ''; // 数据库密码

$dbname = 'discuz2'; // 数据库名

$adminemail = ''; // 论坛系统 Email

 

做了这么多,总算大功告成。我相信在安装过程中还会碰到一大堆文中没有提到的问题,大家可以查各个网站(文中已给出)的在线手册,只要善于利用搜索,几乎所有问题都可以解决。如果E文功底不怎么样,慢慢啃总能看懂的,就当一次学习机会吧!^_^

接下来就是自己写php程序了,先多看别人的,先看简单的,如留言版之类,然后是大型点的,如IPB、Discuz ,网上有很多免费下载。

完全整合安装手册WindowsXP+PHP+MYSQL+CGI+VBB论坛+雷傲论坛

完全整合安装手册WindowsXP+PHP+MYSQL+CGI+VBB论坛+雷傲论坛
 

一、前期准备情况(先说明,如果要问偶在哪里下载之类的问题,偶会吐死的,概不回答。)

1。一个安装好的WindowsXP,注意:如果安了IIS,请先将IIS服务停掉或禁用。

2。下载软件(以下为偶安装时用的文件)

APACHE :apache_2[1].0.43-win32-x86-no_ssl.msi

PHP  :php-4.3.1-installer.exe

MYSQL :mysql-4.0.11a-gamma-win.zip

CGI  :ActivePerl-5.6.0.615-MSWin32-x86-multi-thread.msi

3。下载测试用论坛:VBB论坛、雷傲LB5000 MX

4。下载工具软件:Replace.exe(批量文件名替换及文件内容替换)


二、安装开始

1。APACHE安装

第一步:运行apache_1.3.22-win32-x86.msi,一路点确定和接受就行,基本比较傻瓜,为了方便期间和符合你的习惯请将安装的默认路径设为根目录,如c:\apache

第二步:

编辑 httpd.conf(不要告诉我找不到,懒得听,找不到就去搜......)下列常用编辑:

DocumentRoot "D:/Apache/Apache2/htdocs"(引号中的那一串是你的虚拟目录,想改则改)

DirectoryIndex index.html index.htm index.php(等等......PHP先添加好,免得忘记了,这是你的默认首页名)

AddLanguage zh-cn .cn(在AddLanguage*****那一堆添加,加最前面比较好)

AddDefaultCharset GB2312(改,解决编码问题,否则编码默认为ISO-8859-1)

第三步:将APACHE目录下文件名 \htdocs\index.html.en 改为\htdocs\index.html

第四步:重新启动或运行ApacheMonitor.exe(在BIN目录下),访问 http://localhost或你的IP或你设的域之类的东东,若浏览正常,显示APACHE欢迎页

------------小小的成功!可以喝口水了!--------------------------

2。MYSQL安装

解压 mysql-4.0.11a-gamma-win.zip 到一个目录,如D:\unziped

进入D:\unziped运行SETUP.EXE 一路回车,默认安装到 C:\MYSQL

打开命令提示符CMD:进入mysql目录

cd bin
mysqld -install

回车会告诉你服务已安装。

控制面板——管理工具——服务——mysql——属性——启动

------------这一步应该没有什么问题!-------------------------------

3。PHP安装

直接运行安装文件,至安装完成,安装目录也建议在根目录,如C:\PHP

再次修改APACHE的配置文件httpd.conf (忘了吧!在apache安装目录下的\conf\目录下。)

找到AddType那一堆,找个空地方,换个行,添加一堆如下:

ScriptAlias /php/ "C:/php/"
AddType application/x-httpd-php4 .php
AddType application/x-httpd-php4 .php3
AddType application/x-httpd-php4 .php4
Action application/x-httpd-php4 "/php/php.exe"

第四步: 重新启动apache服务器

第五步: 测试

编写测试文件 info.php (拷贝到目录 c:\apache\htdocs\ 下)

文件内容:(就一行)

<? phpinfo(); ?>

访问: http://localhost/info.phphttp://root.dev/info.php

如果看到PHP的欢迎测试页面,说明安装成功!

到目前为止,你的系统已经可以运行PHP程序了!

你已经配置好了 WindowsXP+apache+php+mysql

----------------成功在望!吃些干粮,想5分钟MM,上趟厕所,或者骚扰一下隔壁的大哥---------

如果你能确定2件事就可以往下进行了:

1。你确实感觉这些事很十分非常不枯燥;

2。真的还想安个CGI在上面,并测试PHP论坛及CGI论坛


首先安装ActivePerl,建议安装目录也是根目录,如C:\perl,安到后来会让你选择你的服务器类型,我想你现在不会选择IIS之类了吧。

装好后,再去修改APACHE下有一个CONF目录,里面有个HTTPD.CONF的那个文件,必须要先设置好它们才能启动CGI,事先说明,下面的路径之类的东西都是由你的安装确定的,当然,如果你硬要照搬,我也不介意只有恭喜你猴PP当红灯了。

   (1) 寻找ServerAdmin,把后面的EMAIL改为你自已的EMAIL,这个改不改不是很重要。
   (2)寻找ServerName, 把前面的#号去掉,后面改为你的域名

   (3)寻找<Directory />,往下面有一句Options,
   把后面的参数全去掉,加一个All,注意大小写呵。再往下有一句AllowOverride,也
   把后面的None去掉,加一个All

   (4)寻找<Directory "你安装APACHE的盘符:/Apache/htdocs">,往下面有一句Options,
   把后面的参数全去掉,加一个All,注意大小写呵。再往下数行有一句AllowOverride,也
   把后面的None去掉,加一个All

  (5)寻找#ScriptAlias /cgi-bin/ "C:/Apache/cgi-bin/",把前面的#号去掉

 (6)寻找<Directory "C:/Apache/cgi-bin">,下面有一句AllowOverride, 把后面的参数去掉,加一个All,注意大小写呵。再往下有一句Options也把后面的None去掉,加一个All

 (7)寻找AddHandler cgi-script .cgi后面加上.pl ,即
    AddHandler cgi-script .cgi .pl

 (8)如果还想增加SSI,需把下面两行前面的#号去掉。
   AddType text/html .shtml
   AddHandler server-parsed .shtml

 (9)还要注意CGI脚本中的perl解释路径,应改为: #!C:/perl/bin/perl.exe

调试安装需注意问题:

<1> 请将CGI脚本放在"c:\apache\cgi-bin\"目录中。

<2> 关于CGI编译器的调用路径
(即CGI脚本第一行的#!path/perl.exe假设你的perl编译器装在c:\perl目录下,那么CGI脚本第一行应为"#!c:/perl/bin/perl.exe"。这里如果你要调雷傲论坛就用得着那个replace.exe的小软件了,一个字:方便!)

<3> 关于CGI脚本中要调用的记录文件的路径,直接写文件的绝对路径即可。
如你的CGI脚本中要向一个名为data.html的文件写数据,你将这个文件放在了"c:\apache\cgi-bin\ "这个目录中。那么,它在CGI脚本中的调用路径也就是"c:/apache/cgi-bin/data.html"。

<4> 调试是不能通过直接双击html文件后,来添写表单内容的方法来调试CGI。这样的话,你在提交表单后,浏览器会显示无法打开该页。
应用以下格式来打开html文件(假设你机器的IP为127.0.0.1)在浏览器中输"127.0.0.1/文件名.html"(注意:html文件应放在"C:\ap\htdocs"目录中。

<5> 错误的排除。
表单提交后,浏览器显示

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
...........

说明你的CGI脚本语法有错误。你可以通过在DOS方式下,进入"c:\perl\bin\"目录,键入命令"perl c:\apache\cgi-bin\文件名.pl"来得知哪里出了错。apache的error.log文件会让人摸不着头脑。

-----------------------好了,不妨睡一觉,对了,重启APACHE服务器先-------------------------

所有配置基本完成,重新启动计算机,开始整体测试!

首先,调个VBB出来看一下吧。

将下载到的VBB解压后,整个目录考到你的虚拟目录下,改目录名如Vbbs,整个路径应该象D:\apache\Apache2\htdocs\Vbbs

编辑其下admin目录中的config.php.XXX(XXX因为我记不得了)文件,基本文件内容如下:

#----------------------------------------------------------
<?php

////////////////////////////////////////////
// 请注意如果在连接过程中产生了任何错误, //
// 你需要发邮件给你的主机提供商说明,我们 //
// 无法告诉你应该设定的参数的具体数值。   //
////////////////////////////////////////////

// 输入数据库的运行环境
// (当前仅支持MySQL数据库)
$dbservertype='mysql';

// 服务器的主机名或IP地址
$servername='192.168.0.1';  [这里是你要改的地方之一,改引号中的噢!]

// 登录到数据库的用户名和密码
$dbusername='root';  [这里是你要改的地方之一]
$dbpassword='';  [这里是你要改的地方之一]

// 数据库名称
$dbname='vbbs';  [这里是你要改的地方之一]

// 提供技术支持的邮箱地址 - 任何错误都会发送到此邮箱内
$technicalemail='love102@etang.com';  [这里是你要改的地方之一]

// 是否持续地与数据库保持连接
// 0 = 不使用
// 1 = 使用
$usepconnect=1;

?>#--------------------------------------配置文件完毕-------------------------------------

打开IE,或者什么浏览器之类的东东,输入:http://XXXXXXXXXXXXXXXXX/vbbs/install.php

接下来自己看着办好了。

-----------------------好了,不妨又睡一觉-------------------------

现在说这个雷傲论坛,比较费事的说。

1. 所有的 cgi 文件除了第一行,设置 Perl 解释器路径外,其他请不要修改!
  如果你 Perl 解释器路径是 /usr/bin/perl 的话,那么所有的 CGI 均不要修改。因为要在本地上调试,所以呢,是非改不可了。按照前面所说的方法改。

1. 打开压缩包,

2.   所有的 cgi 文件除了第一行,设置 Perl 解释器路径外,其他请不要修改!
    如果你 Perl 解释器路径是 /usr/bin/perl 的话,那么所有的 CGI 均不要修改。因为要在本地上调试,所以呢,是非改不可了。按照前面所说的方法改。

3. 将 cgi-bin 目录下的所有文件按照原来路径考到APACHE服务器的 CGI-BIN 目录下,建议你整个目录一起考过去改个目录名。
  所有 non-cgi 目录下的文件考到虚拟目录下,建议同上。

4. 上传完文件之后,打开您的浏览器,输入 install.cgi 文件的 URL 运行。
  (例如:http://XXXXXXXXXXXXXXX/cgi-bin/XXXXXXXXX/install.cgi)
  输入正确详细的资料即可,输入前请仔细看清楚每个选项前面的说明。

5. 设置完毕后,程序会自动删除 install.cgi 文件的(为了安全,呵呵。如果无法自动删除的话,请利用 FTP 软件登陆后手动删除),并进入管理中心,你可以在管理中心中建立论坛,设置参数,设置风格(注意,请务必建立一个分论坛,否则执行下一步会出错的)。

6. 清空你浏览器的所有 Cookie

7. 其余设置见说明文件。

10. 管理中心的设置结束后,就可以运行 draco.cgi 来看你的论坛啦