解决dedecms多域名和站点的绑定


dedecms可以实现多级域名,不同域名的绑定,而且仅仅一套程序就可以搞定,这样以后用dede做站群是最好不过了,同一个主题的站,就只用一套dede来做。闲话少说,自己在网上找了很多教程,发现很多都很残旧的了,要么是老程序,要么就是不行的。   先分享一下在网上找的这教程,里面有一个小错误,我修改过来,下面给大家分享一下   DedeCMS 栏目绑定二级域名   第一步,在后台–>系统–>基本参数–>核心设置中,开启(是/否)支持多站点,开启此项后附件、栏目连接、arclist内容启用绝对网址: ,选择是;   第二步,在增加或编辑栏目的时候,在高级选项打开多站点支持:,选择是,(请一定检查是否启用了多站点!)填上你要使用的二级域名;   第三步,手动在空间中绑定二级域名到你的子目录;   第四步,这一步是最重要的,修改程序文件
/include/helpers/channelunit.herper.php:   在函数function GetFileUrl中,修改第73行:

  1. if($moresite==1)
  2. {
  3. $articleUrl = preg_replace(“/^”.$sitepath.’/’, ”, $articleUrl);
  4. }

  在路径正则表达式把斜杠/换成分号’,修改后如下:

  1. if($moresite==1)
  2. {
  3. $articleUrl = preg_replace(“‘^”.$sitepath.”‘”,”,$articleUrl);
  4. }

  同理修改第260行左右的代码:

  1. if($GLOBALS[‘cfg_multi_site’]==’Y’)
  2. {
  3. if($siteurl==”) {
  4. $siteurl = $GLOBALS[‘cfg_basehost’];
  5. }
  6. if($moresite==1 ) {
  7. $reurl = preg_replace(“/^”.$sitepath.”/”, ”, $reurl);

将以上最后一句代码修改为:

  1. $reurl  = preg_replace(“‘^”.$sitepath.”‘”,”, $reurl);

这样修改后,就可以生成正确的二级域名文件路径了。