如何解决DEDECMS 5.6和5.7版本中直接显示跳转网址的问题?
- 行业动态
- 2024-10-03
- 1
要解决DEDECMS 5.6和5.7跳转网址直接显示的问题,可以尝试以下方法:,,1. 修改模板文件:找到模板文件中与跳转相关的标签,如` 标签,检查是否有target=”_blank” 属性,如果有,请删除或注释掉。,,2. 修改配置文件:打开include/arc.archives.class.php 文件,找到function MakeHtml() 函数,将其中的$this>Fields[‘url’] = “javascript:;”; 修改为$this>Fields[‘url’] = $row[‘url’];`。,,3. 清理缓存:在后台清理缓存,然后重新生成页面。
DEDECMS5.6和5.7跳转网址直接显示跳转网址的解决办法
修改前的准备
在进行代码修改之前,建议先备份现有的系统文件,以防出现意外情况,确保你的服务器支持URL重写,并且已经开启伪静态功能。
具体步骤
1、找到并打开文件
进入你的DEDECMS根目录,找到/include/helpers/channelunit.helper.php文件。
2、定位代码位置
使用文本编辑器(如Notepad++或Sublime Text)打开该文件,并查找第157行附近的代码。
3、修改代码
原始代码:
“`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";
}
}
“`
修改后的代码:
“`php
if($rank!=0 || $ismake==1 || $typeid==0 || $money>0)
{
//——–跳转网址不经过中间页直接显示—————begin—by oicto
global $dsql;
$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;
}
}
//——–跳转网址不经过中间页直接显示—————end—by oicto
// 动态文章
if($cfg_rewrite == ‘Y’)
{
return $GLOBALS["cfg_plus_dir"]."/view".$aid.’1.html’;
}
else
{
return $GLOBALS[‘cfg_phpurl’]."/view.php?aid=$aid";
}
}
“`
4、保存并上传文件
将修改后的文件保存并重新上传到服务器的相应目录中。
5、更新缓存
登录DEDECMS后台,更新首页、列表页以及内容页的缓存,以确保修改生效。
FAQs
问题1:修改后跳转链接仍然不显示怎么办?
答:确认你是否正确修改了channelunit.helper.php文件中的代码,如果修改正确但问题依然存在,检查是否开启了伪静态功能,并确保服务器支持URL重写,可以尝试清除浏览器缓存或者尝试不同的浏览器查看效果。
问题2:修改文件时遇到权限问题怎么办?
答:如果在修改文件时遇到权限问题,可以通过FTP工具以管理员身份连接到服务器,右键点击要编辑的文件,选择“文件权限”,将文件权限设置为755或777,然后重新尝试修改文件,完成修改后,记得将文件权限改回原来的设置以保证安全。
DEDECMS 5.6 和 5.7 跳转网址直接显示跳转网址的解决办法
问题
在使用DEDECMS(织梦内容管理系统)5.6和5.7版本时,有时候会遇到跳转网址直接显示在浏览器地址栏中的问题,这会导致用户体验不佳,因为用户可能会看到不友好的URL,以下是如何解决这个问题的详细步骤。
解决步骤
1、备份网站
在进行任何修改之前,请确保备份您的网站,以防万一修改导致问题。
2、检查浏览器缓存
浏览器缓存可能导致这个问题,尝试清空浏览器缓存或使用不同的浏览器访问。
3、修改配置文件
打开DEDECMS的配置文件config.php,通常位于网站根目录下。
4、查找跳转相关代码
在config.php文件中查找与跳转相关的代码段,通常位于以下位置:
“`php
// 网站跳转设置
$cfg_rewrite = 1; // 开启URL重写
$cfg_basehost = ”; // 域名
$cfg_baseurl = ”; // 基础URL
“`
5、修改URL重写设置
如果$cfg_rewrite设置为1,这可能是导致问题的原因,尝试将其设置为0,如下所示:
“`php
$cfg_rewrite = 0; // 关闭URL重写
“`
6、更新配置文件
保存并关闭config.php文件。
7、清除缓存
清除DEDECMS的缓存文件,这通常包括以下目录:
data/caches/
data/compiled/
data/runtime/
8、重启网站
重启您的网站,查看跳转网址是否仍然显示。
注意事项
如果修改config.php后问题依旧,可能需要检查其他与URL重写相关的插件或模块。
如果您不确定如何操作,请咨询专业的网站开发者。
通过以上步骤,您应该能够解决DEDECMS 5.6和5.7版本中跳转网址直接显示的问题,如果问题依旧存在,可能需要进一步检查网站的其他配置或代码。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/105186.html