### [dedecms如何配置Apache多站点](https://www.prosaas.cn/article/3350) **Published:** 2019-07-20T01:18:48 **Author:** 5201314 **Excerpt:** 推荐教程:DEDECMS教程前导知识: 织梦多站点设置简单来说,就是将网站上的某个目录作为一个域名的根目录,有… ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212121803879.jpg) 推荐教程:**DEDECMS教程** **前导知识:**   织梦多站点设置简单来说,就是将网站上的某个目录作为一个域名的根目录,有两种情况:   **第一种是将一级栏目作为二级域名的根目录,则一级栏目下面的子栏目必须要在这个一级栏目目录的下面;**   **第二种是将非栏目目录作为二级域名的根目录,比如手机站 m.xxx.com**  **设置步骤** **第一步:在 系统基本参数 =》 核心设置 =》 开启多站点支持,截图如下:** ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212121803669.png) **第二步:将要绑定二级域名的栏目设为频道,栏目保存目录也要注意一下,一般设置成一级目录目录,比如我这里设置的是根目录下面的heli。注意:子栏目的保存路径一定要在这个目录的下面,截图如下:** ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212121803138.png) **第三步:切换到高级选项卡,启动二级域名,并设置对应的二级域名** ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212121804963.png) **第四步:设置二级域名,以西部数码为例,截图如下:** ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212121804773.png)   进去之后点击添加 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212121804775.png)    比如我上面设置的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多站点的详细内容,更多请关注知企PROSAAS其它相关文章! **Tags:** apache, DEDECMS, function, include, php, 正则表达式 **Categories:** DEDECMS ---