很多情况下我们可能需要将知识付费问答社区
、CMS
或简单商城
绑定到二级域名。而不是作为二级目录。这种情况下,可能需要对我们现有系统做一些配置改动。
如果你的FastAdmin前台是多应用模块,比如有index模块应用(官网)
、ask模块(问答模块)
、api模块(API接口)
、cms模块(CMS模块)
、admin模块(后台模块)
,那此时我们需要修改的配置就比较多了,请耐心一步一步跟着下面的教程走,如果有遇到什么问题,请反馈。
首先我们准备我们的域名
www.example.com 对应 index模块ask.example.com 对应 问答模块admin.example.com 对应 admin模块api.example.com 对应 api模块
注意example.com
为你的根域名
首先我们需要在后台插件管理,知识付费问答社区配置修改二级域名前缀为ask
,然后移除伪静态配置中的/ask
,如果你还安装了其它应用,比如CMS,简单商城等,操作同理。
接着我们需要打开application/config.php
,
修改其中的url_domain_deploy
改为true
因为我们是多域名了,还需要设置session
和cookie
的域名,如下:
'session' => [ 'id' => '', // SESSION_ID的提交变量,解决flash上传跨域 'var_session_id' => '', // SESSION 前缀 'prefix' => 'think', // 驱动方式 支持redis memcache memcached 'type' => '', // 是否自动开启 SESSION 'auto_start' => true, // SESSION存储目录,可选 //'path' => RUNTIME_PATH . 'session', // 共享域名 'domain' => 'example.com'],'cookie' => [ // cookie 名称前缀 'prefix' => '', // cookie 保存时间 'expire' => 0, // cookie 保存路径 'path' => '/', // cookie 有效域名 'domain' => 'example.com', // cookie 启用安全传输 'secure' => false, // httponly设置 'httponly' => true, // 是否使用 setcookie 'setcookie' => true,],
注意example.com
为你的根域名
然后我们需要打开application/route.php
,全部修改为
return [ //别名配置,别名只能是映射到控制器且访问时必须加上请求的方法 '__alias__' => [ ], //变量规则 '__pattern__' => [ 'name' => '[w.-+]+', 'id' => '[0-9]+', 'date' => '[0-9]{8}', ], //域名绑定到模块 '__domain__' => [ //这里不需要添加问答、CMS、简单商城绑定的域名前缀 'www' => 'index', 'api' => 'api', 'admin' => 'admin', ],];
配置完成后注意清除runtime
的缓存和浏览器缓存,包含Cookie
信息都需要清除。
跨域说明
在使用域名绑定时,API请求时还会存在跨域访问的问题,此时我们需要修改application/config.php
中底部的cors_request_domain
的值,这里值我们追加上www.example.com,ask.example.com
这两个域名(注意example.com
为你自己的域名)。
温馨提示
如果启用了域名部署url_domain_deploy
为true
,可能会导致在CMS或问答社区中的验证码无法正常显示,此时需要手动修改vendor/topthink/think-captcha/src/helper.php
中captcha_src
的路径,将
return thinkUrl::build('/captcha' . ($id ? "/{$id}" : ''));
修改为
return thinkUrl::build('/captcha' . ($id ? "/{$id}" : ''), '', true, 'www');
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。