情况一
http://www.123.com/kao1=值1&name=值2&kao3=值3
情况二
http://www.123.com/name=值2&kao1=值1&kao3=值3意思是参数位置不是固定替换成http://www.123.com/值1-值2-值3.htm 

解决方案 »

  1.   

    你这个是属于UTL重写,重写时一定要注意CSS,图片路径,一定要用绝对路径,可以通过 define("pathroot",dirname(__file__));另外你配置环境时一定要看一下rewirte要开启,同时在httpd.conf中写上RewriteEngine on;  在.htaccess中可以通过RewriteRUle ^/http://www.123.com/([a-zA-Z_]+)-([a-zA-Z_]+)-([a-zA-Z_]+).htm$ http://www.123.com/name=值2&kao1=值1&kao3=值3 [L]
      

  2.   


    $newstr = preg_replace('#(&)?name=(.*?)name(?(1)|&)#',"",$str);
      

  3.   


    $url="http://www.123.com/name=值2&kao1=值1&kao3=值3";
    $str=preg_replace("/(kao1=([^&|$]+)[&|$]|name=([^&|$]+)[&|$])|kao3=([^&|$]+)/","$2$3$4-",$url);
    $str=substr($str,0,-1);
    echo $str.".htm";