解决方案 »

  1.   

    这两种静态区别不大,如果不人工处理的话,其实都是一种“伪静态”
    为什么要加引号呢?因为这种伪静态存在实实在在的静态文件,但是却不是去直接访问这个静态文件的
    smarty里是当你调用display方法的时候,display会去调用fetch方法,如果开启了缓存,fetch方法会去寻找对应的缓存下来的静态文件,如果存在直接包含输出了,不存在的话去判断模板有没有被修改过,没改过的话直接载入编译缓存,解释输出,改过的话就要重新编译模板了,在输出的同时还会生成静态文件(缓存开启的前提下)
    thinkphp的原理跟这个几乎一模一样!
    如果想实现真静态,就需要自己处理,在根目录下生成URL对应的目录结构和静态文件,apache或者nginx里地址重写前判断一下文件如果存在就不重写地址,用户访问的时候就直接访问静态文件了,不经过php入口文件