[v9] v9站群模式下,子站点栏目和文章ur动态时l域名错误显示为主站链接的解决办法

本修改办法来自于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”。

你可能感兴趣的:(phpcms)