在搜索引擎优化中,SEO策略影响到最终的优化效果。SEO策略不管对中小网站还是大型网站都是重要的,而对于大型网站,制定一个好的SEO策略尤为重要。
一、首先我们来看第一部分:关键词分析。
关键词分析是所有SEO必须掌握的一门功课,大型网站虽然有海量的数据,但是每个页面都需要进行关键词分析,除了SEO之外,策划、编辑也需要具备一定的关键词分析能力。
我们来看关键词分析的基本原则:
1、 调查用户的搜索习惯:这是一个重要的方面,只有了解用户的搜索习惯,我们才能把我用户的搜索需求,用户喜欢搜索什么?用什么搜索引擎?等等
2、 关键词不能过于宽泛:关键词过于宽泛会导致竞争激烈,耗费大量时间却不一定得到想要的效果,并且可能降低了关键词的相关性。关键词的相关性要参考百度相关关键字.例如在百度搜索深圳市招调工信息网
http://www.baidu.com/s?ie=gb2312&bs=%D5%D0%B5%F7%B9%A4%BF%BC%CA%D4+0755333&sr=&z=&cl=3&f=8&wd=%C9%EE%DB%DA%CA%D0%D5%D0%B5%F7%B9%A4%D0%C5%CF%A2%CD%F8&ct=0
那么在这页面的下面有相关搜索,点击更多相关搜索可以获得更多的相关性关键字.
3、 关键词不能过冷:想想,没有用户搜索的关键词,还值得去优化吗?
4、 关键词要与页面内容保持高度的相关性:这样既有利于优化又有利于用户。
我们再来看关键词挑选的步骤:
1、 确定核心关键词:我们应该考虑的是哪一个词或者两个词能够最准确的描述网页的内容?哪一个词用户搜索次数最多?
2、 核心关键词定义上的扩展:例如核心关键词的别名、仅次于核心关键词的组合等、核心关键词的辅助等。
3、 模拟用户思维设计关键词:把自己假想为用户,那么我会去搜索什么关键词呢?
4、 研究竞争者的关键词:分析一下排名占有优势的竞争对手的网页,他们都使用了什么关键词?
二、我们再来看第二部分:页面逆向优化。
为什么要做逆向优化?因为在大型网站中,页面的优化价值一般不同于中小网站。考虑到各种综合因素(例如品牌、页面内容、用户体验等),大型网站的页面优化价值大多数呈现逆向顺序,即:最终页>专题页>栏目页>频道页>首页。
如何针对各页面进行关键词分配呢?通常情况是这样的:
1、 最终页:针对长尾关键词
2、 专题页:针对热门关键词,例如“周杰伦”
3、 栏目页:针对固定关键词,例如“音乐试听”
4、 频道页:针对核心关键词,例如 “音乐”
5、 首页:不分配关键词,而是以品牌为主。
在进行关键词分配后,我们可以在最终页中添加匹配的内链作为辅助,这是大型网站内链的优势。
三、第三部分,前端搜索引擎友好,包括UI设计的搜索友好和前端代码的搜索友好两点。
1、首先我们来看UI设计的搜索引擎友好:主要是做到导航清晰,以及flash和图片等的使用,一般来说,导航以及带有关键词的部分不适合使用flash及图片,因为大多数搜索引擎无法抓取flash及图片中的文字。
2、然后是前端代码的搜索引擎友好:包含以下几点
a、代码的简洁性:搜索引擎喜欢简洁的html代码,这样更有利于分析。
b、重要信息靠前:指带关键词的及经常更新的信息尽量选择出现在html的靠前位置。
c、过滤干扰信息:大型网站的页面一般比较复杂,各种广告、合作、交换内容以及其他没有相关性的信息比较多,我们应该选择使用js、iframe等搜索引擎无法识别的代码过滤掉这一部分信息。
d、代码的基础SEO:这是基础的SEO工作,避免html错误以及语义化标签。
四、第四部分,内部链接策略:
为什么要强调内部链接策略?因为内链具有以下优势:
1、 大型网站海量的数据使内链的优势远远大于外链。外链的数量可能几千几万几十万,但是大型网站拥有成百万上千万甚至上亿的海量网页内容,如果用这些海量的网页做内链的建设,优势是很明显的。
2、 网站内的网页间导出链接是一件很容易的事情。
3、 提高搜索引擎对网站的爬行索引效率,增强收录,也有利于PR的传递。
4、 集中主题,使该主题的关键词在搜索引擎中具有排名优势。
在内链建设中,我们应该遵循以下原则:
1、 控制文章内链数量:穿插于文章内的链接可以根据内容的多少控制在3—8个左右。
2、 链接对象的相关性要高。
3、 给重要的网页更多的关注:使重要的更有关键词价值的网页得到更好的排名。
4、 使用绝对路径。
五、第五部分,外部链接策略:
我们强调大型网站的内链建设,但是我们同时也不能太忽视了外链的建设。外链的建设虽然没有中小网站那么重要,但是也具有很高的价值。我们通常可以通过交换链接、制造链接诱饵、投放带链接的软文等方法来建设外链。
1、 我们来看交换链接应该要遵循哪些原则:
a、 链接文字中包含关键词
b、 尽量与相关性高的站点、频道交换链接
c、 对方网站导出链接数量不能过多,过多的话没有太大的价值
d、 避免与未被收录以及被搜索引擎惩罚的网站交换链接
2、 制造链接诱饵:制造链接诱饵是一件省力的工作,这使得对方网站主动的为我们添加链接。制造链接诱饵的技巧很多,但是可以用两个字来概括:创意。
3、 带链接的软文投放。指的是在商务推广或者为专门为了得到外链而进行的带链接的软文投放。
六、第六部分,网站地图策略:
有很多大型网站不重视网站地图的建设,不少大型网站的网站地图只是敷衍了事,做一个摆设。其实网站对于大型网站是很重要的,大型网站海量的数据、复杂的网站导航结构、极快的更新频率使得搜索引擎并不能完全抓取所有的网页。这就是为什么有的大型网站拥有百万千万甚至上亿级的数据量,但是却只被搜索引擎收录了网站数据量的一半、三分之一甚至更少的一个重要原因。连收录都保证不了,怎么去做排名?
Html地图:
1、 为搜索引擎建立一个良好的导航结构。
2、 Html地图中可以分为横向和纵向导航,横向导航主要是频道、栏目、专题等链接,纵向导航主要是针对关键词。
3、 每个页面都有指向网站地图的链接。
Xml网站地图:
主 要针对Google、yahoo、live等搜索引擎。因为大型网站数据量太大,单个的sitemap会导致sitemap.xml文件太大,超过搜索引 擎的容忍度。所以我们要将sitemap.xml拆分为数个,每个拆分后的sitemap.xml则保持在搜索引擎建议的范围内。
七、第七部分,搜索引擎友好写作策略:
搜索引擎友好写作是创造海量数据对取得好的搜索引擎排名的很关键的一部分。而SEO人员不可能针对每个网页都提出SEO建议或者方案,所以对写作人员的培训尤为重要。如果所有写作人员都按照搜索引擎友好的原则去写作,则产生的效果是很恐怖的。
1、 对写作人员要进行反复培训:写作人员不是SEO,没有经验,不可能一遍就领悟SEO的写作技巧。所以要对写作人员进行反复的培训才能达到效果。
2、 创造内容先思考用户会去搜索什么,针对用户的搜索需求而写作。
3、 重视title、meta写作:例如Meta虽然在搜索引擎的权重已经很低,但是不好的meta写作例如堆积关键词、关键词与内容不相关等行为反而会产生负作用。而Title的权重较高,尽量在Title中融入关键词。
4、 内容与关键词的融合:在内容中要适当的融入关键词,使关键词出现在适当的位置,并保持适当的关键词密度。
5、 为关键词加入链接很重要:为相关关键词加入链接,或者为本网页出现的其他网页的关键词加入链接,可以很好的利用内链优势。
6、 为关键词使用语义化标签:
八、第八部分,日志分析与数据挖掘:
日志分析与数据挖掘常常被我们所忽视,其实不管是大型网站还是中小网站,都是一件很有意义的工作。只是大型网站的日志分析和数据挖掘工作难度要更高一些,因为数据量实在太大,所以我们要具备足够的耐心来做该项工作,并且要有的放矢。
1、 网站日志分析:网站日志分析的的种类有很多,如访问来源、浏览器、客户端屏幕大小、入口、跳出率、PV等。跟SEO工作最相关的主要有以下三种:
a、 搜索引擎流量导入
b、 搜索引擎关键词分析
c、 用户搜索行为统计分析
2、 热点数据挖掘:我们可以通过自身的网站日志分析以及一些外在的工具和SEO自己对热点的把握能力来进行热点数据的挖掘。热点数据的挖掘主要有以下手段:
a、 把握行业热点,可以由编辑与SEO共同完成
b、 预测潜在热点,对信息的敏感度要求较高,能够预测潜在的热门信息。
c、 自己创造热点,如炒作等
d、 为热点制作专题
九、第九部分,为关键词创作专题:
除 了最终页面,各种针对热门的关键词所制作的专题应该作为网站的第二大搜索引擎流量来源。我们在对热点数据进行挖掘后,就可以针对这些热门关键词制作专题 了。制作的专题页的内容从何而来?我们一般通过程序实现对应关键词相关的信息进行筛选聚合,这样就使得内容与关键词高度匹配,为用户、为搜索引擎都提供了 所需要的内容。
当然,仅仅建立一个专题而没有辅助手段是很难保证专题的搜索引擎排名的,我们可以通过文章内链、频道页推荐、或者最终页的专题推荐来获得链接达到效果。(本文来自天梯网网站策划运营社区 http://www.tntbbs.com )
1、为热点关键词制作专题
2、关键词相关信息的聚合
3、辅以文章内链导入链接
2009年5月15日星期五
大型网站的优化策略
2009年5月11日星期一
更好地使用Google的服务
网上有很多关于Google的使用技巧,大多数不外乎是传授如何使用搜索语法,比如使用“+”号、“-”号等。在刚才做的一份关于可能吧读者的调查里,很多人喜欢看技巧型文章。
这篇文章里说的内容都和Google相关,但并不是针对某一Google服务,大多数都是我平时使用记事本记录下来的一些小技巧,这里和大家分享一些。
基于我个人在经营一个博客,很多技巧是和网站/博客相关的,但事实上那只是它们的其中一个用法,你完全可以举一反三。
一、普通技巧
1、使用google.com,而非google.cn
可能有不少人不愿意使用经常出现“根据当地法律法规,部分结果未予显示”的google.cn,我个人是更愿意使用Google.com的,然而,直接在浏览器输入google.com会被重置到google.cn。
要想不被重置,方法很简单,使用这个URL:http://www.google.com/ncr
ncr的意思是:No Country Redirect
接下来,在Preference里选择Chinese即可使用中文版的Google.com.
2、我经常使用的搜索式子
使用site来将搜索结果定位到example.com内
(2)1 usd=?rmb
我经常使用这个搜索式子来查看汇率,当然,你还可以使用154rmb=?hkd这样的搜索式子
(3)北京天气
查询天气预报的最快方法
(4)搜索手机归属地
在google搜索框直接输入手机号,第一条结果即为手机归属地
3、有https尽量使用https
由于GFW的存在,Google的服务是经常被重置的。使用Https方式能有效避过GFW。如果一个服务提供有https方式访问,建议尽量使用https方式,经常使用的提供https方式的Google服务是:
4、使用Gmail集中管理其它所有Email
毫无疑问,Gmail是最好用的邮箱之一。然而,相信很多人和我一样,Gmail并不是我们第一个邮箱,登录多个邮箱查收邮件是比较麻烦的。
在“Gmail实用技巧3则”里,我已经详细介绍了如何使用Gmail来接收其它邮箱邮件的方法,这里不再阐述。
5、在Gmail里使用Twitter
Twitter非常非常流行,在“Twitter进阶手册”里我介绍了一些Twitter客户端, 后来,我发现了这个非常有趣的Twitter Gmail Gadget,可以在Gmail里直接使用Twitter,非常方便。

使用方法是,现在Gmail labs里启动Gadget(Add any gadget by URL)功能,接着在Gadget里填入如下地址:
按提示进行下一步操作即可。
6、将Google当作代理服务器来使用
这是一个可能导致Google App Engines被屏蔽的做法,请慎用。
Google App Engines平台允许开发者在App Engines上免费搭建应用程序,于是有人开发了基于App Engines的代理服务器程序:GAppProxy。
使用Google作为代理服务器的好处是显而易见的:
(1)不管是教育网还是公网,都可以直连Google
(2)被屏蔽的几率较低
(3)速度有保障
(4)自己代理自己管理,不受制于其他人
具体的使用和安装方法这里不作介绍,你可以参看小众软件的搭建教程。
还是那句话,翻墙工具请慎用。
7、生成自定义搜索
很多网站提供站内搜索功能,比如可能吧,你能在页面右顶部看到搜索框。每次进行搜索都要打开这个网站是非常麻烦的,这时你可以考虑一下安装Google工具栏,然后在搜索框里右击,选择“生成自定义搜索”。

之后,工具栏上会生成这个网站的搜索按钮,在工具栏输入关键词,点击该按钮即可进行站内搜索。
这是我使用自定义搜索工具生成的一些快捷搜索按钮:
![]()
8、使用英文搜索图片
经常有人问我博客文章里的图片哪里来,除了一部分是截图之外,其它大多数是在Google搜索的。我的搜索图片步骤是这样的:
(1)将搜索对象用英语描述
(2)使用和搜索对象相似、意义相同的单词来搜索
比如,在“去世后网络帐户和关系怎么办”里使用的图片,我使用的关键词不是"die",而是"disappear"。
9、其它相关技巧
下面的技巧之前用单篇文章来介绍过,有兴趣的朋友可以点击详细阅读。
(3)Gmail的8个技巧
二、网站/博客相关
1、使用Google Docs创建在线调查表单
我刚刚邀请了Twitter上的朋友做了“可能吧”读者调查,有兴趣的朋友可以协助填写这份匿名的调查。
这份调查就是使用Google Docs来制作的。新建一个Form:

接着设置相关的调查内容即可。
使用Google Docs创建在线调查表的优势在于,表单数据是即时更新的,你能在Docs后台看到数据在不断变化,第二是调查结果非常直观,这是可能吧读者调查的结果。第三是调查表可以嵌入到网页里。
2、使用Google Chart API生成图表
这是我经常使用的一个Google API。
制作图表是比较麻烦的,Google提供了快捷生成图表的API,对于大多数人来说,使用起来并不复杂,因为只需在URL里填写一下参数。可能吧读者调查结果里的图表都是用Chart API生成的。
这是一个最简单的生成图表URL:
http://chart.apis.google.com/chart?cht=p3&chd=t:77,23&chs=250×100&chl=yes|no
生成的图片是这样的:
更多详细的配置请参考Google的帮助文档。
3、调用Google 的javascript库
Google将一些常用的Javascript库存放到自己服务器,并免费提供外部调用,使网站主节省一定的开销。这些Javascript库包括jQuery等流行库。你可以在Google Code上找到使用方式。
4、获取博客反链信息
如果你在写博客,想必你会很想知道有哪些博客链接到了你的博客。这时你可以使用Google博客搜索,搜索类似link:www.kenengba.com这样的式子,然后点击左侧的RSS或Atom,在阅读器里它们。
接下来,你就可以在阅读器里看到博客的反链情况了:

5、用Google CSE替代博客内部搜索
对于Wordpress来说,站内搜索的功能是十分糟糕的,不但匹配度差,搜索结果不会按照权重排列,同时也会消耗数据库资源。
如果你的博客被Google收录良好,可以尝试使用Google CSE来替代博客的内置搜索,可能吧07年就开始这么做了。
使用Google CSE除了能解决前面提到的WP内置搜索的缺点外,还可以和Google Adsense结合,如果有人点击里搜索结果里的广告,你可以获得广告分成。
6、Google Analytics的高级群体功能
Google Analytics的高级群体是一个十分优秀的功能,它允许你将一部分访客抽取出来,观察这部分访客的浏览情况。
比如,你可以看看“使用Google搜索到达自己网站并且使用Firefox浏览器的人”,和“使用Google搜索到达自己网站并且使用IE浏览器的人”的人的区别,你可以在Analytics里创建这两个高级群体,然后将它们应用到数据中并进行比较。
这是可能吧的“IE浏览者”和“Firefox浏览者”群体的“网站停留时间”比较:

三、告诉我们你使用的Google技巧
如果你有更好的使用Google服务的技巧,不妨告诉我们,让大家都可以提高办事效率。
水煮互联网创业
鞋厂理论:世界上有无数家鞋厂,制造着各自的鞋子,销售给各自的客户。
在网络上,当某个生意已经有人在做的时候,就想想皮鞋理论,你会发现:在大多数情况下,即使有很多人在做鞋子,也并不意味着你就不能再去做鞋子了,别人做了耐克,你可以做李宁,不行就做安踏啥的,即使不知名的杂牌也在三线城市卖的不错。
如果其他的鞋厂都在赚钱,那么你也有机会在这个市场里分一杯羹;如果其他鞋厂都在亏钱,那么你要想办法把他们亏掉的钱赚到自己手上。把成本、产品、 服务、渠道、营销都做好,你就有机会超过现有的竞争对手。赚钱的生意,往往都是已经有很多人都在做的生意。如果某种生意只有你一个人在做,也许说明你的生 意没法赚钱,所以没人看得上。
杂货店理论:很多大型的卖场或公司,比如沃尔玛、八佰伴、麦当劳等,最初都是从一家小店起家的,从小蚂蚁逐渐做到巨无霸。
在网络上,很多人相信,在没有VC的时候,公司亏钱是正常的,等某一天拿了巨额的VC,扩大规模、全国连锁,就肯定会赚钱,于是公司的核心团队把时 间精力都花在了各类投资经理身上。这时候,就该想想杂货店理论,如果你经营一家小杂货店却一直亏钱,那么,如果有人帮你做到了7-11那样的全球连锁,你 会亏得更多。
除去那些具有技术革命性的公司(比如3G、云计算、光存储啥的),在大部分情况下,一个好的公司、或者说一个好的商业模式,如果在大范围内可以赚 钱,那么缩小到一个小范围去运营,也应该是赚钱的。这样的公司,尽管前期需要少量的初始资本和时间来配置人员、软硬件,但绝不会把自己的未来寄托在虚无缥 缈的巨额投资和全球扩张上。沉浸在VC幻想里的孩子们,不如先去经营个杂货店,会比见VC学到更多东西。
户口本悖论:警察局有当地所有居民的户口档案,但是警察局能从中赚钱么?
在网络上,很多人都把“抓用户”作为唯一的追求(或者作为前几年的唯一追求),而忽略了构建真正可行的健康的盈利模式。这时候,你就该想想户口本理 论:警察局拥有那么多用户的详细资料,详细到血型、电话和住址门牌号,你的网站能比警察局更牛逼么?如果你以为靠那点用户的email就能赚钱的话,警察 局早就可以去纳斯达克了。
当然,我不否认一定基数的用户的确是赚钱的重要条件之一,但是光养用户、不思现金流是没有意义的。有很多手持几百万注册用户的网站还看不到任何赚钱 的希望,而有些才几万人的小站却每天有稳健的现金入账。所以,如果赚不到钱的话,建议别再到处炫耀有xx百万用户了,搞那么多用户还不赚钱,只能证明两个 字:无能。
沸水理论:把水煮沸后,看上去热气腾腾,但水的总量不会增加,而且需要供热成本。
在网络上,很多人不择手段地去追求用户的“活跃度”,却不考虑活跃度到底能带来什么收益。活跃度本质上有两种:跟业务相关的活跃度,比如经常上淘宝 看流行商品的活跃用户,一般来说会增加购买的几率;另一种则是与业务无关的活跃度,假设淘宝搞了个跟购物无关的免费网游,结果每天有几百万人上线来玩(产 品经理可以报上很漂亮的activation rate和retention rate),但这些人单纯迷恋网游的人转去淘宝购物的机会有多大呢?由网游带来的收益是否能超过开发和维护网游服务器的成本呢?没人知道。
这时候想想一桶沸水,为了维持一个看上去热腾腾的活跃度,你需要不断添柴、加火,这些供暖成本很高的,而由此产生的热气却无法增加额外的水量,那么 还要煮沸它做什么呢。特蕾莎修女说,一个人的逝去是个悲剧,而一群人的逝去只是一个数字。 在网络上,当我们看到一群人的活跃是个漂亮数字的时候,应该去看看每个人活跃的背后到底意味着什么价值。
热水器理论:有很多人愿意花钱购买热水器,也有很多人愿意花钱维修出故障的热水器。
在网络上,很多人相信,如果一个网络产品不是人们的必需品,那么就很难收费。的确,网络上的用户已经习惯了免费的生活,正如人们习惯了免费的空气、 免费的马路一样。这个时候你就该想想热水器理论,热水器也不是生活必需品,人们完全可以洗免费的冷水澡,甚至不洗澡,为啥家家都有一台动辄上千元的热水器 呢?
很简单,因为人类有意愿追求高质量的生活体验(包括但不限于洗澡),而热水器没有更廉价的替代品。如果你的网络产品或服务能够给人们带来真正高质量的生活体验,同时又没有廉价的替代品,那么一样有人愿意付钱。比如,我很愿意为Gmail的手机客户端付钱,很愿意为Pandora的在线音乐付钱,很愿意为Yeeyan的高质量译文付钱,当然也愿意为Tucia的设计服务付钱。跟我一样的人还有很多,请不要对互联网绝望。
油条铺现象:如果你去跟街上卖油条、卖煎饼的师傅聊一聊,你会发现他们每月的收入很稳定,有的甚至可以月入几万。
网上总说创业99%会失败,什么九死一生,什么倾家荡产都用来形容创业者。这时候,想想卖油条煎饼的创业者,人家在街边随便摆个三轮车,就能养活一 家人了。再去看看大街上的餐厅、奶茶铺、手机配件店、杂货店、床上用品店。。。。为什么这些创业者大部分都活得好好的?而号称IT创业精英的大学生反而一 分钱都赚不到?
如果把“能够养活一家人”作为最低成功标准的话,那么大街上的普通人的创业成功率超过80%,而我们还用“创业九死一生、失败也正常”来安慰自己的无能,真他妈窝囊!
2009年5月3日星期日
让图片快速被搜索引擎收录的方法
看到对手的公司图片在网上到处可见,我也想让我们公司的图片可以各大搜索引擎上找到,尤其是百度。在ALT标签里加上图片的描述,这样可以被百度搜到,但是需要不短的时间。
今天发现一个可以让百度快速收录图片的方法:
在 百度空间的相册里建立一个专辑,专辑名和专辑的简介要认真的填写,然后上传你想要被搜索引擎收录的图片,图片的名称也要认真填写(可以填写关键词)。然后 过一天或两天(我是在两天后去搜的)你再去百度图片里搜索就能搜到了。(可以在图片上加上自己的网址,公司名称等信息,这样更有利于宣传)
新浪博客可以让博文快速被收录,但是图片却很难被收录。
其它的博客就更不用说了,就算能被搜索引擎收到,但也需要一段很长的时间。
2009年4月29日星期三
伪静态URL重写技术实现方法
伪静态用到知识很简单一旦学会,快乐无穷,只需要正则和服务器设置。
先说iis如何设置吧,往下看
下载(IIS Rewrite模块): http://www.isapirewrite.com/,先把产品下载下来,安装在服务器上,记住目录,会有类似Rewrite.dll的文件生成,MMC→IIS信息服务管理器→网站→您的站点→属性,在“ISAPI筛选器”项点击 “添加”, 筛选器名称填入Rewrite,可执行文件为Rewrite.dl这个文件.
然后修改httpd.ini配置文件,如果不太熟悉,就在http://www.isapirewrite.cn/docs看看手册,研究去,如此:
CacheClockRate 3600
RewriteRule ^(.*)/([a-z0-9A-Z\-]+\.html)$ $1/default.asp\?id=$2
这个配置好了就能在default.asp获取参数了,没问题把,顺便一说,正则用法里面最重要的符号^匹配开头,$匹配结尾,\w匹配任何字符,\s匹配空白,+匹配至少一,*匹配至少0,[x,]匹配至少x,()是分组技术,汗,这东西不说了,太弱了.
下面说apache(Unix平台最流行的WEB服务器平台)的重写技术,基本类似,只不过,apaceh支持更灵活的.htaccess,你创建一个文件,文件名就是.htaccess:内容:
RewriteRule ^([a-z0-9A-Z\-]+\.html)$ default.php\?id=$1
就这样,搞定之.注意,必须要空间支持 Rewrite 以及对站点目录中 .htaccess 的文件解析,才有效.
如何让空间支持Rewrite 和 .htaccess 的文件解析呢 往下看
第一步:我们要找到apache(Unix平台最流行的WEB服务器平台)安装目录下的httpd.cof文件,在里面找到
Options FollowSymLinks
AllowOverride none
把none改all,
第二步:找到一下内容
#LoadModule rewrite_module modules/mod_rewrite.so
改为
LoadModule rewrite_module modules/mod_rewrite.so
第三步就是最困难的,保存重启apache(Unix平台最流行的WEB服务器平台)了。 需要自己用心研究了。
剩下的就是测试了。。以上设置我都测试通过了。
2009年4月26日星期日
php smarty简单的例子
在招聘网站上经常看到招PHP程序员的公司很多都要求会SMARTY,虽然我对SMARTY没有太多好感(主要还是太过繁琐,没有直接写PHP代码来得直接),但似乎它已经成了一个事实上的标准,且在团队合作中也有必要用到,没法,学习学习吧,先从简单的开始:
实例1:先来看一个简单的例子。
=====================================================
index.tpl
=====================================================
{* 显示是smarty变量识符里的用*包含的文字为注释内容 *}
{include file="header.tpl"}{*页面头*}
大家好,我叫{$name}, 欢迎大家阅读我的smarty学习材料。
{include file="foot.tpl"}{*页面尾*}
上边的这个例子是一个tpl模板,其中:
1. {**}是模板页的注释,它在smarty对模板进行解析时不进行任何输出,仅供模板设计师对模板进行注释。
2. {include file="xxx.tpl"}使用此句将一个模板文件包含到当前页面中,例子中将在网站中公用事的head.tpl与foot.tpl进行了包含,你可以这样想,使用这一句将xxx.tpl中的内容全部复制在当前语句处。当然,你不使用这一句也可以,将XXX.tpl中的内容复制到当前语句处也是完全可以了。
3.{$name}: 模板变量,smarty中的核心组成,采用smarty定义的左边界符{与右边界符}包含着、以PHP变量形式给出,在smarty程序中将使用$smarty->assign("name", "疯癫";将模板中的$name替换成“疯癫”三个字。
整个实例源程序如下:
=============================
header.tpl
=============================
<html>
<head>
<title>smarty教程</title>
</head>
<body>
===============================
foot.tpl
===============================
<hr>
<center> CopyRight(C) by 2007年12月</center>
<hr>
</body>
</html>
=====================================================
index.tpl
=====================================================
{* 显示是smarty变量识符里的用*包含的文字为注释内容 *}
{include file="header.tpl"}{*页面头*}
大家好,我叫{$name}, 欢迎大家阅读我的smarty学习材料。
{include file="foot.tpl"}{*页面尾*}
================================================
index.php
================================================
<?php
include_once("./comm/Smarty.class.php"); //包含smarty类文件
$smarty = new Smarty(); //建立smarty实例对象$smarty
$smarty->templates("./templates"); //设置模板目录
$smarty->templates_c("./templates_c"); //设置编译目录
//----------------------------------------------------
//左右边界符,默认为{},但实际应用当中容易与JavaScript
//相冲突,所以建议设成<{}>或其它。
//----------------------------------------------------
$smarty->left_delimiter = "{";
$smarty->right_delimiter = "}";
$smarty->assign("name", "疯癫"); //进行模板变量替换
//编译并显示位于./templates下的index.tpl模板
$smarty->display("index.tpl");
?>;
最终执行这个程序时将显示为:
================================
执行index.php
================================
<html>
<head>
<title>smarty教程</title>
</head>
<body>
大家好,我叫疯癫, 欢迎大家阅读我的smarty学习材料。
<hr>
<center> CopyRight(C) by 2007年12月</center>
<hr>
</body>
</html>
the second part
这个例子是综合使用smarty模板参数的一个例子,这些参数用来控制模板的输出,我只选其中几个,其它的参数你去看参考吧。
================================================
exmple2.tpl
================================================
<html>
<head><title>smarty示例2</title></head>
<body>
1. 第一句首字母要大写:{$str1|capitalize}<br>
2. 第二句模板变量 + 疯癫:{$str2|cat:"疯癫"}<br>
3. 第三句输出当前日期:{$str3|date_format:"%Y年%m月%d日"}
4. 第四句.php程序中不处理,它显示默认值:{$str4|default:"没有值!"}
5. 第五句要让它缩进8个空白字母位,并使用"*"取替这8个空白字符:<br>
{$str5|indent:8:"*"}}<br>
6. 第六句把hd_lj@163.com全部变为小写:{$str6|lower}<br>
7. 第七句把变量中的Crazy Hand替换成:疯癫:{$str7|replace:"Crazy Hand":"疯癫"}<br>
8. 第八句为组合使用变量修改器:{$str8|capitalize|cat:"这里是新加的时间:"|date_format:"%Y年%m月%d日"|lower}
</body>
</html>
===============================================
example2 .php
===============================================
<?php
include_once("./Smarty.class.php"); //包含smarty类文件
$smarty = new Smarty(); //建立smarty实例对象$smarty
$smarty->templates("./templates"); //设置模板目录
$smarty->templates_c("./templates_c"); //设置编译目录
//----------------------------------------------------
//左右边界符,默认为{},但实际应用当中容易与JavaScript
//相冲突,所以建议设成<{}>或其它。
//----------------------------------------------------
$smarty->left_delimiter = "{";
$smarty->right_delimiter = "}";
$smarty->assign("str1", "my name is Crazy Hand."); //将str1替换成My Name Is Crazy Hand.
$smarty->assign("str2", "我的名字叫:"); //输出: 我的名字叫:疯癫
//$smarty->assign("str4", ""); //第四句不处理时会显示默认值,如果使用前面这一句则替换为""
$smarty->assign("str5", "前边8个*"); //第五句输出:********前边8个*
$smarty->assign("str6", "hd_lj@163.com"); //这里将输出hd_lj@163.com
$smarty->assign("str7", "this is Crazy Hand"); //在模板中显示为:this is 疯癫
$smarty->assign("str8", "HERE IS COMBINING:");
//编译并显示位于./templates下的index.tpl模板
$smarty->display("example2.tpl");
?>
最终输出效果:
======================================================
example2.php输出效果:
======================================================
<html>
<head><title>smarty示例2</title></head>
<body>
1. 第一句首字母要大写:My Name Is Crazy Hand.<br>
2. 第二句模板变量 + 疯癫:我的名字叫:疯癫<br>
3. 第三句输出当前日期:公元2008年X月X日<br>
4. 第四句.php程序中不处理,它显示默认值:没有值!<br>
5. 第五句要让它缩进8个空白字母位,并使用"*"取替这8个空白字符:<br>
********前边8个*<br>
6. 第六句把hd_lj@163.com全部变为小写:hd_lj@163.com<br>
7. 第七句把变量中的Crazy Hand替换成:疯癫:this is 疯癫<br>
8. 第八句为组合使用变量修改器:Here is Combining:这里是新加的时间:2008年X月X日
</body>
</html>
2009年4月24日星期五
[转]header 函式的使用
标头 (header) 是服务器以 HTTP 协义传 HTML 资料到浏览器前所送出的字串,在标头
与 HTML 文件之间尚需空一行分隔。有关 HTTP 的详细说明,可以参 RFC 2068 官方文件
(http://www.w3.org/Protocols/rfc2068/rfc2068)。在 PHP 中送回 HTML 资料前,需先
传完所有的标头。
注意: 传统的标头一定包含下面三种标头之一,并只能出现一次。
Content-Type: xxxx/yyyy
Location: xxxx:yyyy/zzzz
Status: nnn xxxxxx
在新的多型标头规格 (Multipart MIME) 方可以出现二次以上。
使用范例
范例一: 本例使浏览器重定向到 PHP 的官方网站。
Header("Location: http://www.php.net");
exit;
范例二: 要使用者每次都能得到最新的资料,而不是 Proxy 或 cache 中的资料,可以使用下列的标头
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
范例三: 让使用者的浏览器出现找不到档案的信息。
header("Status: 404 Not Found");
范例四:让使用者下载档案。
header("Content-type: application/x-gzip");
header("Content-Disposition: attachment; filename=文件名");
header("Content-Description: PHP3 Generated Data");