PHP建站技术分享-从入门到精通PHP建站技术分享-从入门到精通PHP建站技术分享-从入门到精通

QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > CMS教程 > Fastadmin

FastAdmin绑定二级域名的方法

管理员 2024-12-14
Fastadmin
7

很多情况下我们可能需要将知识付费问答社区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

因为我们是多域名了,还需要设置sessioncookie的域名,如下:

'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_deploytrue,可能会导致在CMS问答社区中的验证码无法正常显示,此时需要手动修改vendor/topthink/think-captcha/src/helper.phpcaptcha_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修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部