前導(dǎo)知識(shí):
織夢(mèng)多站點(diǎn)設(shè)置簡(jiǎn)單來說,就是將網(wǎng)站上的某個(gè)目錄作為一個(gè)域名的根目錄,有兩種情況:
第一種是將一級(jí)欄目作為二級(jí)域名的根目錄,則一級(jí)欄目下面的子欄目必須要在這個(gè)一級(jí)欄目目錄的下面;
第二種是將非欄目目錄作為二級(jí)域名的根目錄,比如手機(jī)站 m.xxx.com?
設(shè)置步驟
第一步:在 系統(tǒng)基本參數(shù) =》 核心設(shè)置 =》 開啟多站點(diǎn)支持,截圖如下:
第二步:將要綁定二級(jí)域名的欄目設(shè)為頻道,欄目保存目錄也要注意一下,一般設(shè)置成一級(jí)目錄目錄,比如我這里設(shè)置的是根目錄下面的heli。注意:子欄目的保存路徑一定要在這個(gè)目錄的下面,截圖如下:
第三步:切換到高級(jí)選項(xiàng)卡,啟動(dòng)二級(jí)域名,并設(shè)置對(duì)應(yīng)的二級(jí)域名
第四步:設(shè)置二級(jí)域名,以西部數(shù)碼為例,截圖如下:
進(jìn)去之后點(diǎn)擊添加
比如我上面設(shè)置的heli目錄, 只需要把域名綁定到heli這個(gè)目錄就OK。也就是點(diǎn)目錄選擇,找到heli這個(gè)目錄
第五步:修改程序文件/include/helpers/channelunit.helper.php;在函數(shù)function GetFileUrl中,修改第73行:
if($moresite==1) ????{ $articleUrl?=?preg_replace("/^".$sitepath.'/',?'',?$articleUrl); ????}
在路徑正則表達(dá)式把斜杠/換成分號(hào)’,修改后如下:?
if($moresite==1) { $articleUrl?=?preg_replace("'^".$sitepath."'",'',$articleUrl); }
同理修改第260行左右的程序:
if($GLOBALS['cfg_multi_site']=='Y') { ????if($siteurl=='')?{ ????$siteurl?=?$GLOBALS['cfg_basehost']; ????????} ????if($moresite==1?)?{ ????$reurl?=?preg_replace("/^".$sitepath."/",?'',?$reurl);
? 將以上最后一句代碼修改為:
$reurl??=?preg_replace("'^".$sitepath."'",'',?$reurl);
這樣修改后,就可以生成正確的二級(jí)域名文件路徑了。
最后一步:因?yàn)殚_啟多站點(diǎn)之后會(huì)啟用絕對(duì)路徑,所以里面的圖片路徑會(huì)出問題,所以還需要修改文件,步驟如下:
找到 includedialogselect_images_post.php 第108行
$fileurl?=?$activepath.'/'.$filename;
換成:
$fileurl?=?$cfg_cmsurl.$activepath.'/'.$filename;
修改目錄include下的文件extend.func.php,在最后面添加一個(gè)函數(shù)方法
function?replaceurl($newurl)?{? ????$newurl=str_replace('src="/uploads/','src="'.{$GLOBALS['cfg_basehost']}.'/uploads/',$newurl);? ????return?$newurl; ??}
另外調(diào)用文章正文內(nèi)容的標(biāo)簽{dede:field.body/} 替換成:{dede:field.body function=’replaceurl(@me)’/}