1. 概念如果一个域名是dfbazhu.com ,是由一个字符串加一个域名尾,中间用“.”号隔开。这就是一个一级域名,如果在顶级域名前在由“.”隔开加上不同的字符,比如bbs.dfbazhu.com,那么我们就说bbs是顶级域名dfbazhu.com的一个主机名,bbs.dfbazhu.com就是一个二级域名。我们在使用DedeCMS建站的时候往往需要用到栏目绑定二级域名。
2. 应用范围一般栏目设置二级域名还是比较多的,不过这类站点可能需要达到一定的规模,如果是个人站点,并且刚刚开始建站,不建议使用二级域名这类的设置,一般很多站点都将某些特定栏目绑定二级域名,例如news.dfbazhu.om,可能这个站点之前使用的是http://www.dfbazhu.com/news这个目录,为了方便用户记忆以及便于SEO就使用了二级域名。
3. 优点缺点设置二级域名好处刚才也说过了便于记忆、SEO,但对于程序有一点不好的就是某些功能可能无法很好的使用,例如一些效果,因为不能跨域(一个域名访问另一个域名内容)就无法很好的实现。
4. 设置步骤我们设置二级域名总共需要以下几个步骤:
第一步,在后台-->系统-->基本参数-->核心设置中,开启(是/否)支持多站点,开启此项后附件、栏目连接、arclist内容启用绝对网址: ,选择是;
第二步,在增加或编辑栏目的时候,在高级选项打开多站点支持:,选择是,(请一定检查是否启用了多站点!)填上你要使用的二级域名;
第三步,手动在空间中绑定二级域名到你的子目录;
第四步,这一步是最重要的,修改程序文件/include/helpers/channelunit.herper.php:
在函数function GetFileUrl中,修改第73行:
if($moresite==1) { $articleUrl = preg_replace("/^".$sitepath.'/', '', $articleUrl); }
在路径正则表达式把斜杠/换成分号',修改后如下:
if($moresite==1) { $articleUrl = preg_replace("'^".$sitepath."'",'',$articleUrl); }
同理修改第280行左右的程序:
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);
这样修改后,就可以生成正确的二级域名文件路径了。