關于將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文件,更新主頁。
|