大家有需要的话,可以参考下面的方法自行配置。
修改文件`applicationconfig.php` 查找`url_domain_deploy`把他右边的 `false`换成 `true`
再查找 `url_domain_root` 在他右边输入 `abc.com` 即你的域名(注意单引号不能漏掉)这一项其实不设置也问题不大,但有的服务器不设置就不会生效,所以尽量设置一下吧。
如下图所示

再查找 `extra_file_list`把右边中括号里边的内容`THINK_PATH . 'helper' . EXT`换成 `APP_PATH . 'helper' . EXT,THINK_PATH . 'helper' . EXT`
如下图所示

接着在`application`目录下创建一个`helper.php`文件 即`applicationhelper.php`里边的内容放下如下代码
use thinkUrl;r
r
if (!function_exists('url')) {r
r
function url($url = '', $vars = '', $suffix = true, $domain = false)r
{r
static $array = null;r
if ($array===null) {r
$array = @include(RUNTIME_PATH.'url_cfg.php');r
if (empty($array)) {r
$array = [];r
}r
}r
if ($vars && is_string($vars)) {r
parse_str($vars,$vars);r
}r
$par = '';r
$_vars = $vars; //避免改变顺序r
if ($vars) {r
ksort($vars);r
$par = http_build_query($vars);r
}r
r
if ($domain===false) {r
$url = full_url($url);r
list($m_name,$m_file,$m_action) = explode('/', $url);r
$md = modules_config($m_name);r
if(IN_WAP===true){r
if ($md['wap_domain']) {r
$domain = $md['wap_domain'];r
}r
}else{r
if ($md['pc_domain']) {r
$domain = $md['pc_domain'];r
}r
}r
r
if ($domain===false) { r
if(IN_WAP===true && config('webdb.wap_domain')){r
$domain = config('webdb.wap_domain');r
}elseif(config('webdb.pc_domain')){r
$domain = config('webdb.pc_domain');r
}r
}r
}r
r
if ($par && $array[$url][$par]) {r
$_url = Url::build($url.'?'.$par, [], $suffix, $domain);r
}else{r
$_url = Url::build($url, $_vars, $suffix, $domain);r
}r
r
if ( ($m_name=='index'&&!in_array($m_file, ['alonepage','index','login','reg','plugin']))|| ($m_name=='member'&&!in_array($m_file, ['index'])) ) { //避免ajax或框架的跨域r
$_url = preg_replace("/^(http|https):\/\/([^\/]+)\//i", "/",$_url);r
}elseif($url=='index/index/index'){r
$_url = str_replace('index/index/index.html','',$_url);r
}r
return $_url;r
r
}r
}
然后再修改 `applicationroute.php` 查找里边类似的代码
Route::group(['name'=>'bbs','ext'=>'html','__domain__'=>'thinkphp'], [r
'show-' =>['bbs/content/show',['method'=>'get'],['id' => 'd+']],r
'list-'=>['bbs/content/index',['method'=>'get'],['fid' => 'd+']],r
'mid-'=>['bbs/content/index',['method'=>'get'],['mid' => 'd+']],r
'show' => 'bbs/content/show',r
'list' => 'bbs/content/index',r
'index$' => 'bbs/index/index',r
]);
把他删除,换成下面的代码
Route::domain('bbs',[r
'show-' =>['bbs/content/show',['method'=>'get'],['id' => 'd+']],r
'list-'=>['bbs/content/index',['method'=>'get'],['fid' => 'd+']],r
'mid-'=>['bbs/content/index',['method'=>'get'],['mid' => 'd+']],r
'show' => 'bbs/content/show',r
'list' => 'bbs/content/index',r
'index$' => 'bbs/index/index',r
'/$' => 'bbs/index/index',r
]);
第一行的`bbs`即代表二级域名是`bbs`,比如bbs.xxx.com 这个bbs是可以换成其它的,比如`lutan` 下面7行的`bbs`即代表是论坛模块目录名
上面只是针对论坛的二级域名设置,其它频道比如cms qun也同样的方法这样处理,先要删除原有的路由规则,再添加,不然的话,会有冲突不会生效。
如下图所示

再修改文件`applicationadmincontrollerModule.php` 查找
`['icon','icon', '图标', ''],`在他下面一行添加如下代码
`['text','pc_domain', '二级域名', '没配置好服务器的话,必须留空,否则请输入二级域名比如“bbs”而不是http://bbs.xxx.com也不是bbs.xxx.com'],`
保存即可,如下图所示

最后就要升级一下数据库,在后台数据库管理那里导入下面的内容
ALTER TABLE `qb_module` ADD `pc_domain` VARCHAr( 100 ) NOT NULL COMMENT '二级域名,比如“wap”而不是http://wap.xxx.com也不是wap.xxx.com';r
INSERT INTO `qb_config` (`id`, `type`, `title`, `c_key`, `c_value`, `form_type`, `options`, `ifsys`, `htmlcode`, `c_descrip`, `list`, `sys_id`) VALUES(0, 1, 'PC访问专用域名', 'pc_domain', '', 'text', '', 1, '', '没配置好服务器的话,必须留空,否则请输入域名比如“www”而不是http://www.xxx.com也不是www.xxx.com', 0, 0);
确认先把要使用的二级域名指向到当前网站的根目录后。再进后台设置一下www域名网址,及相应的频道二级域名即可,如下图所示


这样就可以使用频道二级目录了!
必须要注意一下

最后的效果如下图所示

,



