1. 程式人生 > >data目錄正確遷移及引起的問題解決方法dede織夢

data目錄正確遷移及引起的問題解決方法dede織夢

  關於將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檔案,更新主頁。