首页 > CMS教程 > DEDECMS > 正文

dedecms如何配置Apache多站点

angryTom
发布: 2019-07-20 09:18:48
原创
2450 人浏览过

dedecms如何配置Apache多站点

推荐教程:DEDECMS教程

前导知识:

  织梦多站点设置简单来说,就是将网站上的某个目录作为一个域名的根目录,有两种情况:

  第一种是将一级栏目作为二级域名的根目录,则一级栏目下面的子栏目必须要在这个一级栏目目录的下面;

  第二种是将非栏目目录作为二级域名的根目录,比如手机站 m.xxx.com 

设置步骤

第一步:在 系统基本参数 =》 核心设置 =》 开启多站点支持,截图如下:

de11.png

第二步:将要绑定二级域名的栏目设为频道,栏目保存目录也要注意一下,一般设置成一级目录目录,比如我这里设置的是根目录下面的heli。注意:子栏目的保存路径一定要在这个目录的下面,截图如下:

de12.png

第三步:切换到高级选项卡,启动二级域名,并设置对应的二级域名

de13.png

第四步:设置二级域名,以西部数码为例,截图如下:

de14.png

  进去之后点击添加

de15.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多站点的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板