类别:技术杂谈 / 日期:2019-06-04 / 浏览:2152 / 评论:0

DEDECMS启用SSL后,栏目添加外部链接时就变成了https://xxx.com/xxx.com/***这个样子,网上搜了一下,答案如下。

一般引起这个问题的原因有两个:

1、外部链接是https

2、外部链接过长

OK,找到原因以后,开始找解决方法。

一、如果是由于https引起的,那么找到 include/helpers/channelunit.helper.php 该文件,然后打开找到大约429行

将如下代码

if(preg_match("/^http:|^ftp:/i", $typedir)) return $typedir;

增加https,修改为

if(preg_match("/^http:|^https:|^ftp:/i", $typedir)) return $typedir;

二、如果是由于外部链接过程引起的,则是由于长度过长,存入数据库只有一部分,所以链接无法打开,是由于数据库的限制

比如dede_arctype 表中 typedir 字段类似为 char(60) ,长度不够,可以修改为长度200。

ALTER TABLE `dede_arctype` CHANGE `typedir` `typedir` CHAR(200) CHARACTER 
SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';

修改完毕后清理缓存即可。

打赏

感谢您的赞助~

打开微信扫一扫,即可进行扫码打赏哦~

版权声明 : 本文使用「署名-非商业性使用-相同方式共享 4.0 国际」创作共享协议,转载或使用请遵守署名协议。

 可能感兴趣的文章

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。