免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3431 | 回复: 7
打印 上一主题 下一主题

queryphp框架自动生成HTML,从SEO优化中解脱出来 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-04-01 19:30 |只看该作者 |倒序浏览
现在很多网站都是重写生成html
这样可以显示为静态样子,但是还是可以根据页面时间判断是否最新的
还有原来一般网站都是使用缓存,减轻服务器读写

但是都不兼顾两者,那么今天我们使用queryphp框架可以实现两者都可以兼顾到
下载地址:http://code.google.com/p/queryphp/downloads/list


queryphp自动生成html特点
1.使用apache重写方式,去掉index.php文件,使用网站看起来是静态样子
如:http://www.app.com/project/html/curd/index/page/2.html
http://www.app.com/curd/index/page/2.html
http://www.app.com/curd/index/5552.html
http://www.app.com/html/curd/index/5552.html
http://www.app.com/curd/5552.html
等样子。
2.生成HTML不用一次全部生成,只要访问到就生成,生成后地址不变。
原来网站地址是什么就是什么
比如:http://www.app.com/curd/5552.html
那么使用我们pathinfo规则会把curd/5552.html转为curd 控制器 和 index方法 id为5552
如果有内容 那么就在网站目录下面curd目录创建5552.html 如果没有可以设置不会生成
3.可以把生成HTML文件都放一个目录里面,当更新时候直接删除就可以了。如果空间足够不用删除
直接把目录改名就可以了。这样不会造成很大IO问题。
当然可以选择删除部分内容。因为有些文件可以永久保存不用更改
比如:http://www.app.com/html/curd/index/5552.html
直接会在html目录里面创建文件,当apache能读取到文件时候会直接读取,不会更过apache解析
这样可以成百成千倍提高访问速度。直接减少服务器数量,减轻公司企业成本,
也可以说queryphp最省钱的框架
4.可以多个项目分隔,每个项目生成html互不干扰比如project项目,也可以在project下面建产子项目
如:http://www.app.com/project/html/curd/index/page/2.html
这样可以每个栏目或每个频道都独立分开,又可以重用公共代码。
5.每个Router可以自定义生成html方式
详见:controller.php 文件 function view_filter($content) 方法

6.可以自由切换是否静态或动态。如果不想生成HTML内容,也可以,这样可以保留apache重写.html结尾
当然也可以去掉.html结尾,对程序一点没有影响。也不用修改代码。

/*
*网站静态化开始,可以做seo优化
**/
$config['html']='.html';//开启.html结尾url
$config['realhtml']="/html"; //开启超级缓存目录,如果第一次访问没有html页面自动产生html页面,第二次访问时候就是静态化


$config['htmlcache']=array("class"=>"sitehtml","method"=>"realhtml"); //生成html文件类和方法,不设置将不会生成html页面,

传入参数为$content,$pathinfo;
/*
*网站静态化结束
**/

当$config['realhtml']="/html"; 为空时候生成html方式是
http://www.app.com/curd/index/5552.html
这样不会有html目录了。当然内容模块少不要紧

$config['htmlcache']为空的时候不会生成html,只使用apache重写
$config['html']='.html';为空的时候不会生成html地址怎么样就怎么样。



url_for()智能函数,自动会根所当然环境返回/curd/index/5552.html方式还是/curd/index/5552样子
url_for("curd/index/5552");如果是静态方式会返回/curd/index/5552.html
如果是动态方式返回/curd/index/5552
程序中有一些提交地址不能为动态,那么怎么办
url_for("curd/index/5552",true);不会返回/curd/index/5552.html或/html/curd/index/5552.html
直接返回/curd/index/5552
下面是模板一个例子:
<ul>
<li><a href="<?php echo url_for("curd/create")?>">添加新记录</a></li>
<li><a href="<?php echo url_for("curd/index")?>">数据列表</a></li>
</ul>
<form id="form1" name="form1" method="post" action="<?php echo url_for("curd/createForm",true);?>">

form提交永远是动态的

评分

参与人数 1可用积分 +10 收起 理由
bs + 10 思路不错

查看全部评分

论坛徽章:
0
2 [报告]
发表于 2010-04-02 16:22 |只看该作者
呵呵,,seo能这么简单就好了。。呵呵

至于你说的那个,,大妈说得那个似乎更好。。。下次让他来说

论坛徽章:
0
3 [报告]
发表于 2010-04-02 17:39 |只看该作者
SEO基本功能是静态页,不是说动态不能优化,但是你动态太花时间了,爬虫也在惦量下你的网站怎么样
就像百度MP3一样那个速度快。
但是生成HTML页面太复杂了,以前一讨论404生成静态页。那个也不好操作
现在这个比较方便。想生成就自己生成。

论坛徽章:
0
4 [报告]
发表于 2010-04-02 18:48 |只看该作者
ob_start()

ob_flush()

这东东?

论坛徽章:
0
5 [报告]
发表于 2010-04-04 23:48 |只看该作者
我觉得生成静态页是SEO里面最没有难度,最基础没啥可说的一点了。

论坛徽章:
0
6 [报告]
发表于 2010-04-05 12:30 |只看该作者
我觉得生成静态页是SEO里面最没有难度,最基础没啥可说的一点了。
akcms 发表于 2010-04-04 23:48



生成html是基本的需要,而且还可以减轻服务器压力。

论坛徽章:
0
7 [报告]
发表于 2010-04-05 12:31 |只看该作者
bs: 思路不错可用积分 + 10

------------------------
现在基本实现了

论坛徽章:
0
8 [报告]
发表于 2010-04-15 10:49 |只看该作者
准备发布新一版,通用权限系统
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP