站长最近在使用帝国CMS自定义伪静态时(也就是将网站栏目设置成伪静态地址如:https://www.51yma.cn/code/php),遭遇到了结合项链接点击时提示您访问的链接不存在和404提示页面。
结合项地址变成了https://www.51yma.cn/e/action/ListInfo.php?&classid=codephp&ph=1&mubanhy=企业集团
导致结合项没法判断栏目ID,造成没法解析地址。
在百度上找半天也没法解决,重新定义结合项,或者结合项伪静态也解决不了。
因为帝国CMS的结合项方法多种多样。也没法对应解决。
最终,站长对结合项的代码一一的查看!才发现问题所在,解决起来也非常的简单!
在userfun.php中的结合项代码中找到
if($_GET['classid'])
{
$classid=RepPostVar($_GET['classid']);
$urlcs.='&classid='.$classid;
}
else
{
if(!$_GET['mid']&&!$_GET['ttid']&&!$_GET['ztid'])
{
$classid=intval($GLOBALS['navclassid']);
$urlcs.='&classid='.$classid;
}
}
将代码中的
$classid=RepPostVar($_GET['classid']);
代码替换成
$classid=intval($GLOBALS['navclassid']);
即可解决问题!!!