比如说RewriteRule ^(.*)/News/news_info/(\d+)\.html\?*(.*)$ $1/News/news_info\.php\?NewsID=$2&$3但是我在news_info怎么也获取不了NewsID的值,求助!!
另外我简单了下RewriteRule
RewriteRule test.html /phptest.php?id=5 我在phptest.php页面中可以获取到id=5;

解决方案 »

  1.   

    伪静态函数在服务器端和客户端执行结果有可能是不同的,这里需要对URL进行处理,处理函数如下:function url_base64_encode($str)
    {
    $code=base64_encode($str);//$code='dHQ=';
    $code=str_replace('+',"!",$code);//把所用"+"替换成"!"
    $code=str_replace('/',",",$code);//把所用"/"替换成"*"
    $code=str_replace('=',"-",$code);//把所用"="删除掉
    return $code;//$code='dHQ!'
    }
    function url_base64_decode($code)
    {
    $code=str_replace("!",'+',$code);//把所用"+"替换成"!"
    $code=str_replace(",",'/',$code);//把所用"/"替换成"*"
    $code=str_replace("-",'=',$code);//把所用"/"替换成"*"
    $str=base64_decode($code);
    return $str;
    }不知道你是不是这个问题,自己试下
      

  2.   

    在获取newsID前先echo $_SERVER["REQUEST_URI"] ;看看rewrite究竟有没有成功。
      

  3.   

    改一下重写规则:
    RewriteRule ^(\w\d-)/News/news_info/(\d+)\.html(.*)$ $1/News/news_info\.php\?NewsID=$2&$3