#1 botnet
地址已经用spHtml生成静态了,可spUrl返回的仍然是动态地址?前段时间我自写了一个分页函数,遇到一个问题:当网站用spHtml生成静态后,我分页链接显示的还是动态地址;我仔细检查了传给spUrl的参数和spHtml的参数,感觉一样;也就是说这地址明明已生成静态了,为什么spUrl没有返回静态地址?后来问题解决了,原来是参数类型不同,下面举个例子说明一下:
首页看下下面代码:
$urls[] = array(输出:
array('order', 'f_list', array('page'=>3))
);
spClass('spHtml')->makeAll($urls);
echo spUrl('order','f_list',array('page'=>3)) .'
';
/html/2012/9/04/6745217882.html这是正常的,
再看下面代码:
$urls[] = array(我传给页面的参数 page=3 ,输出:
array('order', 'f_list', array('page'=>3))
);
spClass('spHtml')->makeAll($urls);
$pid=$this->spArgs('page');
echo spUrl('order','f_list',array('page'=>$pid)) .'
';
/index.php?c=order&a=f_list&page=3输出的不是静态地址,可控制器order,动作f_list,参数page=3已生成静态了的,是不是觉得应该输出静态地址才对?
最后把代码改为:
$urls[] = array(输出:
array('order', 'f_list', array('page'=>3))
);
spClass('spHtml')->makeAll($urls);
$pid=$this->spArgs('page');
echo spUrl('order','f_list',array('page'=>(int)$pid)) .'
';
/html/2012/9/04/6745217882.html终于如愿输出静态地址了!
关键的地方是
array('page'=>(int)$pid))
问题解决,不知道朋友们是否遇到过这问题?希望给有需要的朋友一点帮助!
2012-09-04 16:35:34