織夢的全站生成靜態化功能其實對于優化,服務器來說都說很好的。但是很多客戶卻并不喜歡全站靜態,因為每次有變動他們都需要全站生成一遍,數據少的 話還無 所謂,如果數據很多生成就會特別慢,而且經常會卡死,這點來說織夢做的并不好。對于客戶來說他們更喜歡傻瓜一點的操作,希望他后臺修改前臺馬上就能夠看到 效果的程序。因此對于dede織夢的全站靜態的好處他們會忽略掉,反而感覺你給他做的網站不好。這里主要介紹一下如何讓dede織夢全站都使用動態頁面。
一、先把首頁靜態化。
修改根目錄下的index.php
GBK版
-
- <?php
-
- if(!file_exists(dirname(__FILE__).'/data/common.inc.php'))
-
- {
-
- header('Location:install/index.php');
-
- exit();
-
- }
-
- //不生成HTML版
-
- require_once (dirname(__FILE__) . "/include/common.inc.php");
-
- require_once DEDEINC."/arc.partview.class.php";
-
- $GLOBALS['_arclistEnv'] = 'index';
-
- $row = $dsql->GetOne("Select * From `dede_homepageset`");
-
- $row['templet'] = MfTemplet($row['templet']);
-
- $pv = new PartView();
-
- $pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/" . $row['templet']);
-
- $pv->Display();
-
- exit();
- ?>
復制代碼
UTF8版本的話:
-
- <?php
-
- if(!file_exists(dirname(__FILE__).'/data/common.inc.php'))
-
- {
-
- header('Location:install/index.php');
-
- exit();
-
- }
-
- //不生成HTML版
-
- require_once (dirname(__FILE__) . "/include/common.inc.php");
-
- require_once DEDEINC."/arc.partview.class.php";
-
- $GLOBALS['_arclistEnv'] = 'index';
-
- $row = $dsql->GetOne("Select * From `dede_homepageset`");
-
- $row['templet'] = MfTemplet($row['templet']);
-
- $pv = new PartView();
-
- $pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/" . $row['templet']);
-
- $pv->Display();
-
- exit();
- ?>
復制代碼
二、根據你網站所放空間的不同設置網站打開的首選頁為index.php形式。
我的是vps,直接就在iis里面設置了。
在網站-屬性里面選擇“文檔”如下圖
這里現在我設置的網站首選頁是index.html形式,我們要使用全站動態頁面,那么最好將網站的首選頁面修改為php形式的,即將上圖中的index.php上移,然后點擊“應用”再“確定”即可。如下圖。
三、將后臺的欄目屬性里全部修改為動態。
如果是新建欄目:
在常規選項里面,“欄目列表選項”這里一定要選擇“使用動態頁”。如下圖:
其他按一般步驟填寫即可,注意,這里選擇了使用動態頁之后,在高級選項里設置的文章命名規則便沒用了。“文件保存目錄”也可不用設置。
四、修改文件使發布文章時發布的自動為動態。
如果沒有這個第四步,那么我們在發布文檔的時候會發現在最下方的發布選項默認為“生成html”,如果這里不修改的話那么你發布文章的時候會非常麻煩。但是我們不需要生成html了,而客戶甚至我們在發布文檔的時候不可能每次都記得去在這里修改一下。如下圖:
那么該怎么辦呢?只有修改掉這個默認設置了。下面說說該怎么修改。
一、修改發布文章默認為動態方法【普通文檔形式】
找到 dede\templets\article_add.htm
①打開找到
<td width="379"><input name="ishtml" type="radio" class="np" value="1" checked="1" />
生成HTML
改為【即去掉:checked="1"】
<td width="379"><input name="ishtml" type="radio" class="np" value="1" />
生成HTML
②再找到
<input type="radio" name="ishtml" class="np" value="0"/>
僅動態瀏覽
改為
<input type="radio" name="ishtml" class="np" value="0" checked="1" />
僅動態瀏覽
二、特殊文檔形式發布后直接為動態【如自定義模型】
①找到dede\templets\archives_add.htm
<input name="ishtml" type="radio" class="np" value="1" checked>
生成HTML
<input type="radio" name="ishtml" class="np" value="0">
僅動態瀏覽
修改為
<input name="ishtml" type="radio" class="np" value="1">
生成HTML
<input type="radio" name="ishtml" class="np" value="0" checked>
僅動態瀏覽
之后我們來看看這個時候再點擊發布文檔的時候最下面的圖:
如何批量修改動態發布為靜態生成,或者反過來修改。
用phpmyadmin打開dede_dede_archives 這個表
ismake這個字段就是我們要修改的對象。
運行sql語句:
UPDATE `dede_archives` SET `ismake` = '-1' 修改所有文檔為動態瀏覽
UPDATE `dede_archives` SET `ismake` = '1' 修改所有文檔為靜態發布
這樣就可以了
或者進入后臺→系統→SQL命令行工具→運行SQL命令行: 單行命令執行查詢命令:
1.將所有文檔設置為“僅動態”:update dede_archives set ismake=-1
2.將所有文檔設置為“僅靜態”:update dede_archives set ismake=1
3.將所有欄目設置為“使用動態頁”: update dede_arctype set isdefault=-1
4.將所有欄目設置為“使用靜態頁”: update dede_arctype set isdefault=1
怎么樣?已經修改過來了吧?
到這里整dede織夢程序全站靜態改為動態的修改已經完畢。在這里我再給大家說下各個默認模版對應的默認發布形式:
dede織夢發布文檔時的幾種形式/dede/templets/下的模板
album_add.htm發表圖集模板
archives_add.htm發表通用文檔模板
article_add.htm發表普通模板
archives_sg_add.htm發表特殊類文章模板
這樣就更加清晰了吧?如果你的網站是其他的圖集,或者,商城,軟件類的模型都可以在對應的這幾個模版里面去修改為默認發布動態。好了到這里已經全部介紹完畢。