设置DedeCMS跳转网址不显示中转页的方法
修改include/channelunit.func.php文件
1、定位代码:找到include/channelunit.func.php
文件中的以下代码段:
if($rank!=0 || $ismake==1 || $typeid==0 || $money>0) { //动态文章 if($cfg_rewrite == 'Y') { return $GLOBALS["cfg_plus_dir"]."/view".$aid.'1.html'; } else { return $GLOBALS['cfg_phpurl']."/view.php?aid=$aid"; } }
2、替换代码:将上述代码替换为以下内容:
if($rank!=0 || $ismake==1 || $typeid==0 || $money>0) { $flag = $dsql>GetOne("select * from dede_archives where id = $aid;"); $flag = $flag['flag']; if(preg_match("/j/",$flag)) { $addontable = $dsql>GetOne("select art.id,cht.addtable from dede_arctype art left join dede_channeltype cht on art.channeltype = cht.id where art.id = $typeid"); $addtable = $addontable['addtable']; $GoUrl = $dsql>GetOne("select redirecturl from $addtable where aid = $aid"); $redirecturl = $GoUrl['redirecturl']; if($redirecturl != '') { return $redirecturl; } else { //动态文章 if($cfg_rewrite == 'Y') { return $GLOBALS["cfg_plus_dir"]."/view".$aid.'1.html'; } else { return $GLOBALS['cfg_phpurl']."/view.php?aid=$aid"; } } } //动态文章 if($cfg_rewrite == 'Y') { return $GLOBALS["cfg_plus_dir"]."/view".$aid.'1.html'; } else { return $GLOBALS['cfg_phpurl']."/view.php?aid=$aid"; } }
3、保存并检查效果:完成上述步骤后,保存文件并重新生成页面,查看是否成功实现直接跳转而不经过中转页。
修改include/helpers/channelunit.helper.php文件
1、定位代码:找到include/helpers/channelunit.helper.php
文件中的以下代码段:
if($rank!=0 || $ismake==1 || $typeid==0 || $money>0) { //动态文章 if($cfg_rewrite == 'Y') { return $GLOBALS["cfg_plus_dir"]."/view".$aid.'1.html'; } else { return $GLOBALS['cfg_phpurl']."/view.php?aid=$aid"; } }
2、替换代码:将上述代码替换为以下内容:
if($rank!=0 || $ismake==1 || $typeid==0 || $money>0) { global $dsql; $flag = $dsql>GetOne("select * from#@__archives
where id = $aid;"); $flag = $flag['flag']; if(preg_match("/j/",$flag)) { $addontable = $dsql>GetOne("select art.id,cht.addtable from#@__arctype
art left join#@__channeltype
cht on art.channeltype = cht.id where art.id = $typeid"); $addtable = $addontable['addtable']; $GoUrl = $dsql>GetOne("select redirecturl from $addtable where aid = $aid"); $redirecturl = $GoUrl['redirecturl']; if($redirecturl != '') { return $redirecturl; } } //动态文章 if($cfg_rewrite == 'Y') { return $GLOBALS["cfg_plus_dir"]."/view".$aid.'1.html'; } else { return $GLOBALS['cfg_phpurl']."/view.php?aid=$aid"; } }
3、保存并检查效果:完成上述步骤后,保存文件并重新生成页面,查看是否成功实现直接跳转而不经过中转页。
相关问答FAQs
问题一:如果修改后仍然无法实现直接跳转怎么办?
答:如果在修改了配置文件之后仍然无法实现直接跳转,建议进行以下检查:
1、确保修改的文件路径和代码正确无误。
2、清除浏览器缓存,确保没有使用旧版本缓存。
3、检查服务器是否有写入权限,确保修改后的配置文件能够被正确加载。
4、重新生成所有页面缓存,以确保新的配置生效。
5、查看DedeCMS的系统日志,排查是否有其他错误信息提示。
问题二:如何在不同版本的DedeCMS中应用这些修改?
答:不同版本的DedeCMS可能会有所不同,但核心思想是一致的,以下是通用步骤:
1、确认你使用的DedeCMS版本,并查找相应的配置文件位置。include/channelunit.func.php
和include/helpers/channelunit.helper.php
是常见的文件路径。
2、根据上述方法找到相应代码段并进行替换,注意不同版本可能会有细微差异,但主要逻辑相同。
3、完成修改后,保存文件并重新生成页面,确保修改生效。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1095997.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复