首頁  >  文章  >  CMS教程  >  dedecms如何設定Apache多站點

dedecms如何設定Apache多站點

angryTom
angryTom原創
2019-07-20 09:18:482349瀏覽

dedecms如何設定Apache多站點

推薦教學:DEDECMS教學

##前導知識:

  織夢多重網站設定簡單來說,就是將網站上的某個目錄作為一個網域的根目錄,有兩種情況:   第一種是將一級欄位作為二級網域的根目錄,則一級欄位下面的子欄位必須要在這個一級欄位目錄的下面;

第二種是將非欄位目錄當作二級網域的根目錄,例如手機站m.xxx.com 

設定步驟

dedecms如何設定Apache多站點

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

dedecms如何設定Apache多站點

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

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);
###  這樣修改後,就可以產生正確的二級域名檔案路徑了。 ############最後一步:因為開啟多站點之後會啟用絕對路徑,所以裡面的圖片路徑會出問題,所以還需要修改文件,步驟如下:######## #####  找到###\include\dialog\select_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)'/}######

以上是dedecms如何設定Apache多站點的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn