当前位置:首页 > 行业动态 > 正文

如何配置DedeCMS以实现跳转链接时不显示中间页面?

要在DedeCMS中设置跳转网址不显示中转页,可以通过修改配置文件来实现。具体操作如下:,,1. 打开 DedeCMS的后台管理界面。,2. 找到并点击“系统”选项。,3. 在系统设置中找到“URL跳转设置”。,4. 在“URL跳转设置”中,将“中转页”设置为“否”。,5. 保存设置并更新缓存。,,完成以上步骤后,DedeCMS的跳转网址将不再显示中转页。

设置DedeCMS跳转网址不显示中转页的方法

如何配置DedeCMS以实现跳转链接时不显示中间页面?  第1张

修改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、完成修改后,保存文件并重新生成页面,确保修改生效。

0