用了段时间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了!