首页 > 建站教程 > CMS教程 > dedecms >  dede织梦data目录正确迁移及引起的问题解决方法正文

dede织梦data目录正确迁移及引起的问题解决方法

  关于将dede织梦data目录迁移出web目录织梦官方提供了一个教程,但是如果你是按照他们提供的教程做的话会出现很多问题。比如验证码问题,图片显示问题等等一大堆。织梦官方这种是很不负责任的,因为那个教程有很大缺陷。这里跟大家提供一个完整版本的如何将dede织梦data目录正确迁移,以及按照官方版本教程迁移出现问题的解决办法。这里先看看官方的吧,然后我再补充。

  1、将data目录转移到非Web目录

  我们这里举例“D:\dedecms\v57”为我们系统的根目录,我们需要将目录下的data文件夹(如图1)迁移要上一级目录(非Web目录),简单的办法直接剪切或者拷贝即可。


       我们移动上一级目录中,注意观察文件路径。


  2.修改DEDEDATA目录的配置常量

  找到系统目录下/include/common.inc.php文件,修改DEDEDATA常量为你的系统目录。


  3.配置tplcache缓存文件目录

  进入系统后台,在配置中修改tplcache目录为你想对目录。


   到了这里官方说教程已经完成,可是如果你信了那就麻烦了。你会碰到很多问题。这么草率的搬离问题很多的比如,我们常见的网站地图和生成的JS文件,全部会导致路径不正确。例如发现移动后有两点问题,第一、后台登陆不显示验证码了,第二、联动类别后台发布的时候不显示.移动后发布文章时候联动类别不显示和后台登陆不显示验证码。等等,即使你想要转移回去发现问题依然存在。其实真正正确的转移方法是:你需要把整个程序里所有关于调用到"/../data' 的部分全部换掉。而不仅仅是上面官方说的那几个。下面就挨个说下经常碰到的问题解决方法。

  转移data目录后验证码不显示或者输入验证码一直提示错误

  不显示验证码的同学请改一下/include/vdimgck.php这个文件 这个文件里也调用了DATA里的文件也可以改路径,把带有这个 /../data 改成你现在的路径。
$im = @imagecreatefromjpeg(dirname(__FILE__).'/data/vdcode.jpg');
  首页index.php文件也需要修改

  还需要把首页中index.php中的/data/改为/../data。也就是下面这句。
  if(!file_exists(dirname(__FILE__).'/data/common.inc.php'))
  {
  header('Location:install/index.php');
  exit();
  }
  DEDECMS默认生成的rss地图以及网站地图等都是生成在DATA的文件夹中,但是这个是一个非常重要的文件夹,一般我们在 Robots.txt 是禁止搜索引擎爬行这文件夹的,这就造成了,我们生成了地图,但是搜索根本就找不到的尴尬,下面就教大家如何更改自动生成的目录

  下面是详细的步骤:

  1,首先登录ftp,在根目录下建立rss文件夹

  2,修改根目录下你的管理员文件夹(默认是dede)下的makehtml_map.php文件
  将17行的$cfg_cmspath."/data/sitemap.html";改为

  $cfg_cmspath."/sitemap.html";

  将22行的$cfg_cmspath."/data/rssmap.html";改为

  $cfg_cmspath."/rssmap.html";
  17行是普通网站地图,22行是RSS的网站地图

  3,修改根目录下include下面的arc.rssview.class.php
  将71行的$murl = $GLOBALS['cfg_cmspath']."/data/rss/".$this->TypeID.".xml";改为

  $murl = $GLOBALS['cfg_cmspath']."/rss/".$this->TypeID.".xml";
  4,修改根目录下include下的sitemap.class.php
  将57行的$typelink = $GLOBALS['cfg_cmsurl']."/data/rss/".$row->id.".xml";

  $typelink = $GLOBALS['cfg_cmsurl']."/rss/".$row->id.".xml";

  将94行的$typelink = $GLOBALS['cfg_cmsurl']."/data/rss/".$row->id.".xml";

  $typelink = $GLOBALS['cfg_cmsurl']."/rss/".$row->id.".xml";
  5,修改/templets/default模板文件head.htm

  在11行左右找到
<li class="r3"><a href="{dede:global.cfg_dataurl/}/sitemap.html">网站地图</a></li>
<li class="r4"><a href="{dede:global.cfg_dataurl/}/rssmap.html">RSS订阅</a></li>
  改为
<li class="r3"><a href="{dede:global.cfg_cmsurl/}/sitemap.html">网站地图</a></li>
<li class="r4"><a href="{dede:global.cfg_cmsurl/}/rssmap.html">RSS订阅</a></li>
  6,进入后台,更新网站地图,更新RSS文件,更新主页。