Discuz门户快照错乱的方法及图片绝对地址的方法

来自:互联网
时间:2018-08-27
阅读:

用了段时间Discuz门户系统,虽然功能强大,但是需要更改的大问题还是很多,这里讲一下比较严重的吧。

门户head尽管用了但是各搜索引型快照都是错乱的,如CSS、JS、图片都是死链!(主要是二级目录如:域名/*)

我自己研究了一个方法,不说最合适,但是基本可以解决问题。

首先查看网站源代码,看看哪些都出现了相对链接,把模板对应标签链接加上{$_G['siteurl']},其次对如缓存样式,这个代码没找到对应的文件修改,但是后台,全局,性能优化,服务器优化,CSS 文件 URL可以修改一下CSS样式文件的路径为自定义路径,路径的地址加上http://域名/,这样缓存部分就搞定了。

其次是文章内的图片链接,PHP和JS基础很差只能在模板内使用str_replace替换函数对对应变量进行字符匹配来解决此问题,打开/source/module/portal/portal_view.php,找到

$article['related'] = array(); 
if(($relateds = C::t('portal_article_related')->fetch_all_by_AId($aid))) { 
        foreach(C::t('portal_article_title')->fetch_all(array_keys($relateds)) as $raid => $value) { 
                $value['uri'] = fetch_article_url($value); 
                $article['related'][$raid] = $value; 
        } 
}

在上面加上

if(str_replace("src="你的网址/data/attachment/","src="你的网址/data/attachment/",$content['content'])<1){ 
    $content['content'] =str_replace("src="data/attachment/","src="你的网址/data/attachment/",$content['content']); 
}

注意还有个方法是在后台设置附件路径给绝对地址就好了,但是此方法只对新生成图片有效,此方法直接将域名写入数据库中。

完成后更新缓存就OK了!

返回顶部
顶部