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

来源:互联网  时间:2018-01-10    阅读:   我要吐槽    阿里云幸运券

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

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

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

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

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

  1. $article['related'] = array(); 
  2. if(($relateds = C::t('portal_article_related')->fetch_all_by_aid($aid))) { 
  3.         foreach(C::t('portal_article_title')->fetch_all(array_keys($relateds)) as $raid => $value) { 
  4.                 $value['uri'] = fetch_article_url($value); 
  5.                 $article['related'][$raid] = $value; 
  6.         } 

在上面加上

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

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

完成后更新缓存就OK了!

Tags:Discuz  快照  图片地址  

参与讨论