dede在linux服务器下开启伪静态后分页无法正常获得当前网址,导致分页代码无法使用,修改方法如下:
在arc.sglistview.class.php和arc.listview.class.php两个文件中,查找获取当前网址函数GetCurUrl()
function GetCurUrl()
{
if(!empty($_SERVER["REQUEST_URI"]))
{
$nowurl = $_SERVER["REQUEST_URI"];
$nowurls = explode("?",$nowurl);
$nowurl = $nowurls[0];
}
else
{
$nowurl = $_SERVER["PHP_SELF"];
}
return $nowurl;
}
修改为
function GetCurUrl()
{
global $cfg_rewrite;
if(!empty($_SERVER["REQUEST_URI"]))
{
$nowurl = $_SERVER["REQUEST_URI"];
$nowurls = explode("?",$nowurl);
$nowurl = $nowurls[0];
}
else
{
$nowurl = $_SERVER["PHP_SELF"];
}
if($cfg_rewrite == 'Y'){$nowurl = $_SERVER['PHP_SELF'];} //如果开启伪静态转换为脚本文件
return $nowurl;
}
这时,分页代码就可以正常使用,但如果想让独立模型添加分页伪静态,可以在arc.sglistview.class.php文件里查找GetPageListDM函数
在return $plist;前添加:
global $cfg_rewrite;
if($cfg_rewrite == 'Y')
{
$plist = str_replace('plus/list.php?tid=', 'list-', $plist);
$plist = str_replace('&hzindustry=0&hzplace=0&keyword=', '', $plist); //此处根据你的独立模型链接代码修改
$plist = str_replace('&TotalResult=', '-', $plist);
$plist = preg_replace("/&PageNo=(\d+)/i",'-\\1.html',$plist);
}
文章评论