Php 在CodeIgniter(如Shopify)中使用自定义域别名构建SaaS应用程序
我正在开发一个SaaS应用程序。我们以Shopify/Magento等作为参考Php 在CodeIgniter(如Shopify)中使用自定义域别名构建SaaS应用程序,php,.htaccess,codeigniter,saas,Php,.htaccess,Codeigniter,Saas,我正在开发一个SaaS应用程序。我们以Shopify/Magento等作为参考 我使用了CodeIgniter PHP框架 SaaS方法-多数据库、单代码库 我们的SaaS架构如下: 当客户注册时,将使用其名称构建数据库,并包含其特定的数据库 当客户注册时,他会得到一个子域(例如:test1.example.com) 客户可以添加自己的域,该域指向系统定义的子域。(例如:test1.example.com至www.mydomain.com) 如何实现此功能?为此,您必须通过一些配置选项
- 我使用了CodeIgniter PHP框架
- SaaS方法-多数据库、单代码库
- 当客户注册时,将使用其名称构建数据库,并包含其特定的数据库
- 当客户注册时,他会得到一个子域(例如:test1.example.com)
- 客户可以添加自己的域,该域指向系统定义的子域。(例如:test1.example.com至www.mydomain.com)
如何实现此功能?为此,您必须通过一些配置选项
就这些。享受吧 我认为你应该寻找一个术语:“codeigniter multi-Tennant应用程序”,正如前面所说,管理太多数据库不是一个解决方案 您可以通过这种方式实现提议的SAAS应用程序 将有1个数据库用于应用程序本身,另外N个数据库用于客户端,每个新客户端将有新的数据库
- 允许通过询问基本详细信息+子域来注册您的客户,就像blogspot一样,现有客户使用的子域将不允许重复使用
- 当客户端注册成功时,将创建一个单独的数据库,并将其登录到仪表板。在这里,一个DB服务器就可以了,但是应该有足够的空间和其他参数设置来处理多个数据库
- 现在从dahsboard开始,用户将能够看到要使用的功能列表以及一些预定义的内容集,这些内容将在用户之间共享并从“AppDB”加载。他们所做的任何添加都将进入他们自己的独立数据库
- 在这里,代码库将部署在一个代码服务器上,主域将映射到该服务器上,以便在这里进行登录/挑选等操作,用户的身份识别将在登录级别进行
在这两种情况下,当请求到达我们的服务器时,服务器会检查配置文件和物理目录是否可用,然后它会将用户重定向到destiny forlder。问题是?实现所描述的功能对于这个站点(以及大多数其他站点)来说太广泛了,但是:首先设计数据库,所以它是多租户的。设计软件,使其可以重新主题化,即使用类似MVC的框架,可以加载不同的布局/样式表。添加URL字段,以便可以基于域执行内部路由。让您的web服务器捕获所有子域并将它们路由到同一vhost。请记住,这不是一件小事。是否有任何参考资料、教程或博客可以达到我所要求的效果?不,没有。您希望开发一个复杂的产品,因此您需要获得创建该产品的技能(需要几年),或者雇佣能够为您设计广泛设计的人员,如果您想了解我们如何实际使用物理目录进行子域+自定义域绑定/映射,请与我联系,这是一个漫长的过程,花了几个月的时间开发,因为在internet上没有太多直接的帮助。我们还为所有客户机的子域甚至自定义域添加了免费SSL。