最近刚使用织梦模板百度结构化数据插件,但是在使用中却遇到了404跳转、重复域名网址、路径等不少的问题,我这就对我自己遇到的几个问题做一个总结,将分享给大家解决方法。
首先说一下DedeCMS百度结构化数据插件包含的几个文件:
/你的后台管理目录/baidusitemap_main.php
/include/baidusitemap.func.php
/include/baiduxml.class.php
/plus/baidusitemap.php
其次将我遇到的几个问题一一来解决
一、404跳转问题
确定你的百度结构化数据插件文件存在并可访问,配置正确的前提下,请打开“/include/baiduxml.class.php”文件,找到以下这段代码:
if(!isset($typeinfos)) $typeinfos = $this->getType($row['typeid']);
找到后将其注释掉这段代码,前面其实已经赋值了,但是不清楚为啥还要再确认一次。
二、重复域名网址
这个问题一般是你网站后台开启了完整域名URL后出现的,解决这个问题,请打开“/include/baiduxml.class.php”文件,搜索以下两条代码:
{$cfg_basehost}{$row['filename']} 能搜多到2条,直接替换为 {$row['filename']} 即可。
{$cfg_basehost}{$typeinfos['typelink']} 能搜多到1条,直接替换为 {$typeinfos['typelink']} 即可。
三、路径问题
如果你的网站安装在二级目录下,或者更深的目录,请打开“/你的后台管理目录/baidusitemap_main.php”文件,修改其中的变量$cfg_plus_dir 为你的插件目录,注意前面加上/,比如
$cfg_plus_dir = '/gxchina/plus';
第二个要修改的文件是“/include/baidusitemap.func.php”,同样修改$cfg_plus_dir为你的插件目录值,这时候前面不要带'/',并且要注释掉大改250行,$cfg_plus_dir = str_replace("/", '', $cfg_plus_dir );,前面加上注释,它会把目录分隔符替换掉。比如我修改为:
//$cfg_plus_dir = str_replace("/", '', $cfg_plus_dir );
$cfg_plus_dir = 'gxchina/plus';
希望我的解决方法也能帮助到你。