本修改办法来自于txb2d(原帖见http://bbs.phpcms.cn/thread-669461-1-1.html)。之前看到很多人和本人一样,照着那方法修改之后,仍然不起作用,在世界首富和化蝶自在飞的帮助下,终于解决了此问题。一并感谢三位大虾。
以下方法仅适用于子站信息使用动态访问时的修改,如果你的子站信息使用静态访问,则无需做以下任何修改。
1、将子域名(或分站域名)解析到phpcms v9所在的目录(即根目录)。
2、将index.php设为子站的第一个默认文档(默认首页),index.html等靠后。
3、在路由配置文件caches\configs\route.php的);前添加
'abc.123.com'=>array('m'=>'content','c'=>'index', 'a'=>'init','data'=>array('GET'=>array('siteid'=>2,'catid'=>1,'contentid'=>1))),
注:abc.123.com更换成你的子站域名,’siteid’=>2的2更换成你对应站点的id。
以上3步是以往的修改教程没有提到的,导致很多人照那教程修改后不起作用。尤其是路由配置修改那一块,很多人修改时把siteid、catid、contentid分成三个GET来写。
3、接下来就是txb2d的修改方法了(具体行数因为版本不同可能有几行的误差,主要看下要修改的代码是否一样。)
①修复栏目页动态phpcms\modules\admin\category.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;
②修复内容页动态phpcms\modules\content\classes\url.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;
大功告成 ,感谢phpcms站的”kirb”。