时为网络是济南一家专门从事网站建设和维护、网站设计和制作、网站优化山东seo)和网络营销的专业工作室。业务联系QQ:48229778
视嘉数媒 济南网站建设、济南网站制作给你全面优质的服务
返回首页 | 关于时为网络 | 站点地图 | 收藏本站
企业网站服务顾问
 长期提供济南企业网站建设和网站维护服务
★ 提供企业网站制作策划方案服务
 负责企业网站长期的网络营销服务
★ 对济南企业提供SEO建站顾问服务
 网站优化知识和网络营销知识培训
★ 提供济南企业网站优化服务
 基于W3C标准的网站制作服务
网站建设
  网站改版与网站维护
  企业网站建设流程
  济南网站设计 | 网站开发 | 网站优化
  企业建立网站应该做什么准备
  企业为什么要建立网站
  济南网站界面设计
  SEM是中国搜索引擎市场发展的必然所需
  网站建设时融入SEO优化的效果
建站FAQ
·域名常见问题解答·网站空间问题解答
·网站建设问题解答·企业邮箱问题解答
·网站推广问题解答·网站维护问题解答
·网站改版问题解答·盛赢服务问题解答
您当前的位置: 首页 >> 网站建设 >> 网站静态化之rewrite,pathinfo和静态页面分析

网站静态化之rewrite,pathinfo和静态页面分析

来源:视嘉数媒    作者:xwlxiaochong    时间:2008-5-14 14:20:19

随着SEO的普及,静态化便成为网站开发的必要技术之一。网站静态化通常有三种方法可以实现,一种是伪静态,一种是实实在在的静态页面,最后一种是pathinfo技术。

伪静态下,如果是apache服务器,是通过.htaccess文件来操作。如果是IIS服务器,则是通过httpd.ini和rewrite.dll来实现。伪静态处理的关键技术是配置文件的规则如何得到有效的控制,并在html页面里对应起来,一旦规则改变,则html页面里的链接也需要根据规则动态的改变。后台设置规则,并且写入.htaccess文件,同时根据规则生成php语言的规则,那么在php程序里根据规则显示页面的不同内容。这种方式的难点在于对htaccess文件的彻透理解和应用以及php正则表达式的灵活运用上。

通过这种方式转化的静态页面的路径有两种表现形式,一种是非常规则的,比如一篇文章,article.php?artid=12,则转化成静态页面可能就是这样:article-do-view-artid-12.html。因为每个页面必须要有动作和对象,这样便于统一管理,也可以表示成这种形式:article/do/view/artid/12.html等等。这种形式只要在htaccess文件中写一句话便可以控制全局,那就是RewriteRule ^([^-]*)-(.*)$ $1.php?$2 。这样,整个规则就只有一个规则,程序里要做的只有对$2号的字符串进行处理,相对简单。第二中形式就相对人性化点,美观点,我们要把连接形式转化为article/12.html 或者 article/hello-world.html 更或者 article/hello-world_page2.html ,这种方式要对每个连接都作处理,如果只给出这种规则,计算机是不能理解的,除非给成 article/(.*)(_page[0-9])\.html 这种规则,那么在处理上就有相当大的难度,因为要把rewrite的规则解析为php的正则并进行替换,还有这些规则必须由熟悉rewrite和php的程序员来写,不利于推广。

静态页面,只要把目录地址保存在数据库里调用,但是有些动态的信息,比如登录信息,文章点击数等需要做动态的改变,这种情况主要通过js和重新生成静态页面来显示.

这里给出两种生成静态页面的方法:

一、通过ob函数来控制浏览器输出。

         ob_start();

include template('index');

$data = ob_get_contents();

ob_clean();

file_put_contents($filename, $data);

二、通过预先得知这个页面的地址来通过网页抓取。

function create_html($filepath, $phpfile, $page = 1){

       global $siteurl;

 

       $filepath = ROOT.$filepath;

       $htmlpath = substr($filepath,0,strrpos($filepath,"/"));

       if(!is_dir($htmlpath))makeDirs($htmlpath);

       $contents = dfile_get_contents($siteurl.$phpfile);

      

       dfile_put_contents($filepath, $contents);

}

伪静态的优点主要在于灵活,相对于静态文件就是不需要额外的脚本来生成或控制静态页面的内容,不占用服务器空间。由于是服务器内部解析的地址,所以内容是实时更新的,也不存在文件管理和硬件问题,维护比较方便。在服务器级URL Rewrite重写技术并不影响页面的执行速度。但是URL Rewrite的门槛比较高,国内虚拟主机大多不支持,而且虚拟主机是目录级的url Rewrite,通过遍历目录读物URL转发规则的方式将大大降低页面的执行速度。

静态页面的好处在于少了动态解析过程,提高了页面的访问速度和稳定性,使得优化效果非常明显。对数据库和服务器的软件资源耗费少。但是占用了服务器的硬件资源,对于大型网站而言,这种方法将带来不可忽视的后继问题:

    
由于生成的文件数量较多,存储需要考虑文件、文件夹的数量问题和磁盘空间容量的问题,需要大量的服务器设备;程序将频繁地读写站点中较大区域内容,考虑磁盘损伤问题及其带来的事故防范与恢复,硬件损耗要更新、站点备份要到位;页面维护的复杂性和大工作量,及带来的页面维护及时性问题,需要一整套站点更新制度和专业的站点维护人员;
 

对于第三种方式,php业界流行的框架比如zend,thinkphp就应用的比较多,归根结底,他们在某些条件下也缺少不了.htaccess这个文件,因为他们的目的都是想要把所有的连接(除过图片,js,css)都指向index.php这个文件。这里用到的主要技术之一便是pathinfo,关于pathinfo的原理,这里就不再做过多讨论了。这种技术和用.htaccess技术的区别就在于没有使用.htaccess文件,好像说的是废话,不过还是需要注意的。

所以综合上诉原因,个人认为:
对于一般企业网站,个人网站,这些网站信息一旦发布就很少更改,网站信息量不多的情况下,而且一般使用的是虚拟主机,可以选择生成静态页的方式。

对于大型网站,信息量巨大,具有独立服务器,可采用URL Rewrite 的方式。

对于一些中型网站,使用虚拟主机的就采用生成静态页的方式,有条件购置服务器的可视具体网站类型而定,若网站交互性较强,局部更新内容比较多的话,可以采用Rewrite,若页面内容比较固定的话,使用静态页生成技术效果就更佳。

关键词:网站静态化,rewrite,静态页面 打印本页  |   关闭窗口
网站关键字:济南网站建设 | 济南网站制作 | 济南网页设计 | 网站制作 | 网页制作 | 网络营销 | 网站优化 | 搜索引擎优化 | 山东seo | 网站推广 | 网站运营 | 企业邮局 | 虚拟主机
QQ:48229778 Email:54soho@gmail.com Mobile:15966308858 © 2007-2008 山东SEO团队版权所有
All Rights Reserved. www.company-site.cn
友情链接:济南网站建设 | 济南网站设计 | 济南网页制作 | 济南网站制作 | 网页制作 | 网络营销 | 网站优化 | 搜索引擎优化 | 山东seo