之前看到很多人的方法,照着那些方法修改之后,仍然不起作用,在世界首富和化蝶自在飞的帮助下,终于解决了此问题。在iis,nginx环境下调试均成功。一并感谢! 以下方法仅适用于子站信息使用动态访问时的修改,如果你的子站信息使用静态访问,则无需做以下任何修改。 1、将子域名(或分站域名)解析到phpcms v9所在的目录(即根目录)。 2、将index.php设为子站的第一个默认文档(默认首页),index.html等靠后。 3、在路由配置文件cachesconfigsroute.php的);前添加注:abc.123.com更换成你的子站域名,'siteid'=>2的2更换成你对应站点的id。

 'abc.123.com'=>array('m'=>'content','c'=>'index',
'a'=>'init','data'=>array('GET'=>array('siteid'=>2,'catid'=>1,'contentid'=>1))),

以上3步是以往的修改其他教程没有提到的,导致很多人照那教程修改后不起作用。尤其是路由配置修改那一块,很多人修改时把siteid、catid、contentid分成三个GET来写。

3、接下来就是修改方法了(具体行数因为版本不同可能有几行的误差,主要看下要修改的代码是否一样。) ①修复栏目页动态phpcmsmodulesadmincategory.php。 455-456 行前加//注释掉(如下):

//$url = $this->update_url($catid);

//$url = APP_PATH.$url;

在下面 添加代码:

//修复站群模式下  【栏目页】 动态页面时候 url 由于 APP_PATH 问题导致的内容页 url 域名错误问题

$url = $this->update_url($catid); //cat 数组 在前面 foreach 处定义 $txbsiteid=$cat['siteid']; $this->sitedb = pc_base::load_model('site_model'); $siteinfo=$this->sitedb->get_one(array('siteid'=>$txbsiteid)); $url = $siteinfo['domain'].$url;

②修复内容页动态phpcmsmodulescontentclassesurl.class.php。找到函数 show() 第89行加//注释掉原代码(如下):

// $url_arr[0] = $url_arr[1] = APP_PATH.$urls;
在其下添加
//修复站群模式下 【内容页】 动态页面时候 url 由于 APP_PATH 问题导致的内容页 url 域名错误问题
//txb $category 数组 入口处 定义 ,已经获得某栏目siteid
$txbsiteid=$category['siteid'];
$this->sitedb = pc_base::load_model('site_model');
$siteinfo=$this->sitedb->get_one(array('siteid'=>$txbsiteid));
$url_arr[0] = $url_arr[1] = $siteinfo['domain'].$urls;
好了,大功告成.