在php中如何做伪静态?这个问题困扰我很久,做静态页面的话,那些像smarty等模板框架不会使用。
然而感觉伪静态是个好方法,并且现在那么多的网站,,论坛都是伪静态的实现。我从网上也找了资料看了,但是看不出来头绪。不知道如何去操作,怎么设置环境,怎么传递变量,结束变量等等机制问题。借此机会,向各路高手请教下!王不惜赐教!

解决方案 »

  1.   

    伪静态???
    用 rewrite 就行了啊
      

  2.   


    我说了,对她一无所知。所以你说rewrite,我都不知道咋下手。
      

  3.   

    伪静态跟php无关在apache的配置文件里RewriteRule ^index\.html$    index\.php [L]
    比如这个,意思就是访问http://domain/index.html  实际上,是访问了index.phpRewriteRule ^article-([0-9]+)\.html$       article\.php\?id=$1 [L]
    这个意思是http://domain/article-101.html  实际上访问的是article.php?id=101简单的正则替换。
    具体的设置依据自己的实际应用来,不是三两句能说清
      

  4.   

    这个网站就做了伪静态了
    www.pjob.info 
    详细页的伪静态。比如网址 http://www.pjob.info/public/55d55d222235ecf153651ee3433a002e.html
    他的实际地址是 http://www.pjob.info/detail.php?md5=55d55d222235ecf153651ee3433a002e
    WIN IIS 系统用httpd.ini ,Linux Apache系统用.htaccess 
    写法:
    RewriteRule ^public-([^\/]+).html$ detail.php?md5=$1 [L]
      

  5.   


    detail.php 文件里面直接用$_GET['md5']来获取md5就可以不用任何其他转换之类的。
    这样你应该会明白吧~
      

  6.   

    楼主参考下PHP教程网上关于.htaccess和apache rewrite的入门教程吧
      

  7.   


    为了SEO,搜索引擎不认识 ?背后的参数,不过现在好多了。照样收录。
      

  8.   

    下载ecshop或discuz,后台有伪静态设置的流程,下载文档里有设置伪静态的说明。
      

  9.   

    人家说了一句,rewrite,,就可以百度google找资料了.搜索引擎要学会用啊下面的是apache mod_rewrite 的手册.对照看一下..可能感觉有点难.
    http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/mod_rewrite.html
      

  10.   

    现在我配置了环境了,但是不成功。httpd.conf里,#去掉,开启rewrite支持
    #LoadModule rewrite_module modules/mod_rewrite.so还有一个目录添加这两句的:Options FollowSymLinks        AllowOverride All 然后根目录建立.htaccess文件,里面正则为:
    RewriteRule ^index\.html$ index.php结果还是动态的,不是伪静态,为何这样呢????
      

  11.   


    ● 一般服务器(虚拟主机)不会让你去配置httpd.conf的,都是通过 htaccess 或者httpd.ini来弄的,除非你是VPS服务器或者买的独立的主机。
    ● RewriteRule ^index\.html$ index.php 这个重写为什么失败了?因为index 都是一样的,文件名不能一样。 RewriteRule ^index\.html$ index2.php 这个就可以。 
      

  12.   

     #19楼 得分:0回复于:2010-07-12 16:59:47引用 18 楼 acogle 的回复:现在我配置了环境了,但是不成功。httpd.conf里,#去掉,开启rewrite支持
    #LoadModule rewrite_module modules/mod_rewrite.so还有一个目录添加这两句的:Options FollowSymLinks AllowOverride All 然后根目录建立.htaccess文件,里面正则为:
    Rewri……● 一般服务器(虚拟主机)不会让你去配置httpd.conf的,都是通过 htaccess 或者httpd.ini来弄的,除非你是VPS服务器或者买的独立的主机。
    ● RewriteRule ^index\.html$ index.php 这个重写为什么失败了?因为index 都是一样的,文件名不能一样。 RewriteRule ^index\.html$ index2.php 这个就可以。   
     我现在是在本地测试的,用了刚才你的办法,把文件名设置不一样,还是不行。
      

  13.   

    開啟apache
    LoadModule rewrite_module modules/mod_rewrite.so
    根目录建立.htaccess文件
    Rewrite Engine onRewriteRuleindex.html$   index.php
    RewriteRule (message|link)_(.*).html$ index.php?mod=$1&act=$2就這麼簡單
      

  14.   

    我突然懂了些。可以看到效果了。比如:more.asp?id=1 伪静态成 more_id/1.html 用的就是.htaccess方式。但是,我在more.asp 里怎么接收这个传值呢? 怎么将1接收过来?这个纠结了。
      

  15.   

    你访问more_id/1.html时实际上是访问more.asp?id=1,也就是说你要接收1过来直接用$_GET['id']就行了
      

  16.   

    不管你把链接做成什么样子在经过.htaccess规则转换以后都应该变成最原始的URL,要不然服务器自己是找不到参数的如more_id/1.html 必须转回来变成more.asp?id=1
      

  17.   

    我的网站www.i9km.com就我做的伪静态
    httpd.ini实现的,我的是win系统 所以用这个
    就是把动态的网页作成  .html的