ThinkPHP分页无法使用汉字URL

当然首先你的linux系统得支持汉字,使用ThinkPHP分页发现无法使用汉字的URL,当我搜索传参使用汉字的时候,在分页url中带有汉字,在后台就不能解析;
不知道为什么,thinkphp的url默认是/action/function/parameter/data/
这种方式的话不符合html标准,从而导致个web解析,服务器解析,php解析等等可能会出错;
本人的系统是nginx+php+linux+mysql;
因为用到tp的分页函数的地方比较多,最后去修改tp的Page扩展源码;将生成的url符合html标准,这样就解决了汉字不能传输的问题;
修改的地方:
ThinkPHP/Extend/Libary/ORG/Util/Page.class.php的97行;

$url            =   U('',$parameter);  // 按tp的规则生成url
改成:
$url            =   $this->clin_page_url($parameter);
 // 生成标准的url在此类的最后追加一个函数:clin_page_url($parameter)
 
   
private function clin_page_url($parameter){

        $url = U('');

        $url = str_replace('.html', '?', $url);

        foreach ($parameter as $key => $value) {

            $url .= $key.'='.$value.'&';

        }

        $url = substr($url, 0,-1);

        return $url;

    }

]]>

原创文章,作者:键盘游走者,如若转载,请注明出处:http://www.708034.com/2017/06/thinkphp%e5%88%86%e9%a1%b5%e6%97%a0%e6%b3%95%e4%bd%bf%e7%94%a8%e6%b1%89%e5%ad%97url/

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注