想把网站上的一些不经常变动的动态网页实现静态化
网上查到的方法大多是让这些动态页面的代码生成对应的静态html页面我的问题是,如何使得今后对动态页面的请求都转移到相应的静态页??
有人说用url rewrite,但是这样不就永远都访问不到动态页了,因为请求都重定位到了静态页上,那动态网页也就没办法更新其内容了我是想这些动态页生成相应的静态页后,这些静态页保持一天的cache,第二天又能让动态页来更新一次????

解决方案 »

  1.   

    都是PHP把页面存到文件,下一次直接读文件,都会经过PHP的。方便的方法就是Smarty模板替换,傻蛋一点的就是ob。
      

  2.   


    纯静态网站也可以实现,那就是你担忧的没有办法提供静态页面入口,其实是可以的。
    比如,后台上传一篇新闻,那么后台应该立即生成新闻静态页,并且更新相关的入口页面,全部使用静态URL。
    只有这样,一个用户才能从入口页面一步一步的点击静态URL阅读新闻。太蛋疼了,虽然整站纯静态可以让吞吐率上万,但灵活性太差了,动态效果只能靠JS/AJAX(比如广告)再去拉,整个网站死气沉沉,想留言的话也得立即重新生成留言页面的静态文件。走PHP做静态化就爽了,编码没啥变化,直接加个静态化判断就行了,缓存有效期也可以把控,数据管理也方便了,操作数据库就行了,怎么展示多久更新全都是PHP控制,轻松愉快,基本不用动脑子。
      

  3.   

    没有只在需要更新的时候走一下PHP的,其他时候都直接请求静态页面的办法咯?
      

  4.   

    ob嘛,直接生成最终的html页面.
      

  5.   


    可以说没有,走PHP一样很快,fcgi+optimizer之后,走php静态化吞吐率也跑个小1W了.