如果是用的动态url则不存在这个分页问题!主要是设置伪静态后,在构成分页时,那里的传URLRULE仍然是原来默认你设置的栏目的url规则!所以我们在构造筛选的同时,也要重新构造url规则!参考房产信息列表可知分类信息模型里,官方已经给我们写好了一个重新构造url规则的方法!makeurlrule();
当时打开这个方法看的时候,就可以其实归根到底,还是一个get_url()的方法出了问题!
因此我们打开global.func.php这个文件!找到get_url()这个方法!你就会发现,这里取得的url始终是动态的,即便你设置了伪静态,这里取得url也一样是动态的!因些,我们要对这个方法进行修改!下进我贴上代码!/**
* 重写取得当前页面的完整URL地址,支持取得伪静态URL 4am 2015_07_21 伪静态分页错误 887921
*/
function get_url() {
$sys_protocal = isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://';
$host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '';
//判断重写是Apache还是ISAPI_Rewrite环境
if($_SERVER['REDIRECT_QUERY_STRING'] || $_SERVER['REDIRECT_URL']){
//Apche环境
return $sys_protocal.$host.$_SERVER['REDIRECT_URL'];
}else if($_SERVER['HTTP_X_REWRITE_URL']){
//ISAPI Rewrite环境
return $sys_protocal.$host.$_SERVER['HTTP_X_REWRITE_URL'];
}else{
//取得动态url
$php_self = $_SERVER['PHP_SELF'] ? safe_replace($_SERVER['PHP_SELF']) : safe_replace($_SERVER['SCRIPT_NAME']);
$path_info = isset($_SERVER['PATH_INFO']) ? safe_replace($_SERVER['PATH_INFO']) : '';
$relate_url = isset($_SERVER['REQUEST_URI']) ? safe_replace($_SERVER['REQUEST_URI']) : $php_self.(isset($_SERVER['QUERY_STRING']) ? '?'.safe_replace($_SERVER['QUERY_STRING']) : $path_info);
return $sys_protocal.$host.$relate_url;
}
}
最后要注意的就是,在模板中调用的时候,一定要加用urlrule
本站声明:本站所有好东西均来源于互联网,不保证100%完整、不提供任何技术支持,分享目的仅限于学习和测试,一切商业行为与本站无关,下载后请在24小时内删除。请勿用于商业用途,如需商业使用请向官方购买授权,由于使用该资源引起的侵权行为与本站无关!如有侵权,请联系winnerzyy#vip.qq.com(将#换为@)及时删除!