dedecms如何配置Apache多站點

dedecms如何配置Apache多站點

推薦教程:DEDECMS教程

前導知識:

  織夢多站點設置簡單來說,就是將網站上的某個目錄作為一個域名的根目錄,有兩種情況:

  第一種是將一級欄目作為二級域名的根目錄,則一級欄目下面的子欄目必須要在這個一級欄目目錄的下面;

  第二種是將非欄目目錄作為二級域名的根目錄,比如手機站 m.xxx.com?

設置步驟

第一步:在 系統基本參數 =》 核心設置 =》 開啟多站點支持,截圖如下:

dedecms如何配置Apache多站點

第二步:將要綁定二級域名的欄目設為頻道,欄目保存目錄也要注意一下,一般設置成一級目錄目錄,比如我這里設置的是根目錄下面的heli。注意:子欄目的保存路徑一定要在這個目錄的下面,截圖如下:

dedecms如何配置Apache多站點

第三步:切換到高級選項卡,啟動二級域名,并設置對應的二級域名

dedecms如何配置Apache多站點

第四步:設置二級域名,以西部數碼為例,截圖如下:

dedecms如何配置Apache多站點

  進去之后點擊添加

dedecms如何配置Apache多站點

   比如我上面設置的heli目錄, 只需要把域名綁定到heli這個目錄就OK。也就是點目錄選擇,找到heli這個目錄

第五步:修改程序文件/include/helpers/channelunit.helper.php;在函數function GetFileUrl中,修改第73行:

if($moresite==1) ????{ 	$articleUrl?=?preg_replace("/^".$sitepath.'/',?'',?$articleUrl); ????}

  在路徑正則表達式把斜杠/換成分號’,修改后如下:?

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);

  這樣修改后,就可以生成正確的二級域名文件路徑了。

最后一步:因為開啟多站點之后會啟用絕對路徑,所以里面的圖片路徑會出問題,所以還需要修改文件,步驟如下:

  找到 includedialogselect_images_post.php 第108行

$fileurl?=?$activepath.'/'.$filename;

  換成:

$fileurl?=?$cfg_cmsurl.$activepath.'/'.$filename;

  修改目錄include下的文件extend.func.php,在最后面添加一個函數方法

function?replaceurl($newurl)?{? ????$newurl=str_replace('src="/uploads/','src="'.{$GLOBALS['cfg_basehost']}.'/uploads/',$newurl);? ????return?$newurl; ??}

  另外調用文章正文內容的標簽{dede:field.body/} 替換成:{dede:field.body function=’replaceurl(@me)’/}

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享