优化帝国CMS二次开发中的项URL参数
帝国cms二次开发结合项url参数优化,可以通过对URL进行重构和优化,提高网站页面的权重和排名。具体来说,可以采用以下几种方法:1. 使用静态化技术,将动态URL转换为静态URL;2. 对URL进行压缩,去除不必要的字符和参数;3. 合理设置URL结构,使其更加简洁明了;4. 使用301重定向技术,将旧的URL指向新的URL;5. 避免使用过多的关键词堆砌,以免被搜索引擎认为是作弊行为。通过这些方法,可以提高网站的用户体验和搜索引擎友好性,从而获得更好的排名和流量。
帝国官方结合项如果同一个字段不同值点击两次以上url就会出现重复的参数,当然对功能是没有影响的,感觉不大美观!
优化前:
/e/action/ListInfo.php?&classid=19&orderby=psalenum&myorder=1&ph=1&classid=19&pbrand=27&orderby=psalenum&myorder=1&myorder=1
优化后:
/e/action/ListInfo.php?classid=19&orderby=psalenum&myorder=1&ph=1&pbrand=27优化方法
在官方的结合项的函数方法echo $allstr;这行代码的前面插入以下代码即可:
//新增代码---jimmy.start-----preg_match_all('/<ahref="(.*?)".*?>(.*?)</a>/i',$allstr,$matches);for($i=0;$i<count($matches[1]);$i++){$url=$matches[1][$i];$parts=parse_url($url);$query=explode('&',$parts[query]);$output=array();foreach($queryas$key=>$value){if($value){$params=explode('=',$value);if($params[0]){$output[$params[0]]=urldecode($params[1]);}}}$newurl=$parts[path].'?'.http_build_query($output);$allstr=str_replace('href="'.$url.'"','href="'.$newurl.'"',$allstr);}//新增代码---jimmy.end-----
如果有多个结合项,可以把上面的代码放到一个函数里面调用方法就更加简单了,只需把echo $allstr;替换成echo beautifyUrl($allstr);即可
functionbeautifyUrl($allstr){//新增代码---jimmy.start-----preg_match_all('/<ahref="(.*?)".*?>(.*?)</a>/i',$allstr,$matches);for($i=0;$i<count($matches[1]);$i++){$url=$matches[1][$i];$parts=parse_url($url);$query=explode('&',$parts[query]);$output=array();foreach($queryas$key=>$value){if($value){$params=explode('=',$value);if($params[0]){$output[$params[0]]=urldecode($params[1]);}}}$newurl=$parts[path].'?'.http_build_query($output);$allstr=str_replace('href="'.$url.'"','href="'.$newurl.'"',$allstr);}//新增代码---jimmy.end-----return$allstr;}