如何把如question.php?id=1,其中1就是从表中读取的id号,这样的后缀改成以相当id号且后缀为html的呢?也就是说把quetion.php?id=1改成question/1.html
谢谢

解决方案 »

  1.   

    RewriteRule ^/quetion/([0-9]+).html$ /quetion.php?id=$1 [PT]
      

  2.   

    RewriteRule如果不想使用伪静态规则呢?怎么做?
      

  3.   


    连接都写成question/1.html 获取的时候 解析 正则匹配转换成quetion.php?id=1
      

  4.   

    只是一种思想 一般php框架中会这么处理
    <?php 
    $url = "question/1.html";
    echo preg_replace("/question\/(.*?).html/","quetion.php?id=\${1}",$url);
    ?>
      

  5.   

    问下ls 
    "question/1.html 获取的时候 解析 正则匹配转换成quetion.php?id=1"
    这个不算是伪静态吗?我觉得和在服务器里配RewriteRule是差不多的手法啊
      

  6.   

    都是伪静态 只要不是生成的html 都是伪静态 反正都是为提高seo收录 只要地址OK 没必要管它真伪静态
    这个地方主要是后台处理 而rewrite利用是服务器的rewrite模块起的作用
      

  7.   

    你这样有一个问题
    程序怎么生成这种网页
    我的框架可以使用url_for()可以自动切换动态和静态http://code.google.com/p/queryphp/downloads/list
      

  8.   

    现在有这么一个问题:
    <a href="question.php?id={dede:field.id /}">把它改成<a href="question/{dede:field.id /}.html">.这样原本是question.php?id=1这样的地址变成了question/1.html,但实际并不存在question这样的目录也没有1.html这个文件,我要怎么通过把question/{dede:field.id /}.html的地址解析到question.php?id={dede:field.id /}的地址,就如把question/1.html解析到question.php?id=1,还有个要求就是我上面的地址栏还是必须是question/1.html这样。
    谢谢
      

  9.   

    所以你系统应该支持重写这个功能
    这样开启重写,程序也输出重写后的url这样保持跟重写一至。
    我那系统是统一使用url_for();当系统不是重写时候那么输出不是重写url
    当url是重写时候url_for();输出是重写url你可以下载看看function.php那个url_for()函数。
    http://code.google.com/p/queryphp/downloads/list