在codeigniter中制作多站点和多语言网站的正确方法
Posted
技术标签:
【中文标题】在codeigniter中制作多站点和多语言网站的正确方法【英文标题】:Right way of making muti-site and multi-lingual website on codeigniter 【发布时间】:2011-02-23 22:06:13 【问题描述】:先谢谢大家了!!真的,你们帮了很多忙。当我完成我的网站并有很多时间观察用户群如何增长时,我会一次又一次地来这里回答其他人的问题(如果可以的话)
所以这就是问题所在。
我在 CodeIgniter 上创建了一个网站。社交网络引擎。像 phpfox、classmates_com 或 facebook 之类的东西。
现在不知何故不是多语言的,所以 UI 字符串在视图文件中,下一步是将它们移动到语言文件中。
我希望用户能够更改语言。所以我假设在数据库中用户将有行“lang_local”,默认设置为 en,然后他将更改为任何其他语言。
接下来是什么在吞噬我的神经和精力。
我将在这个引擎上制作几个人口统计社交网络,我想用一个后端集中管理这些网站。因此,每当我想创建一个新的网络时,我只需添加域设置,将脚本安装在新文件夹中并将其添加到数据库站点中
我是这样看的
在数据库中的每个表(如用户、cmets、消息、类别等)上,我将有一行 site_id ,并在每个查询添加/更新/删除时添加一个 WHERE SITE_ID=XXX
并且在表 sites
(site_id,site_name,domain_name) 中将包含所有域,以便在后端我可以按网站过滤数据。
这是个好方法吗?如果我需要成为多服务器怎么办,那么负载平衡呢?谁能告诉我什么是正确的,专业的方式?我对数据库的最大用户限制类似于在一两年内启动 10.000 100.000 个用户
【问题讨论】:
【参考方案1】:有很多方法可以处理多站点,但这是处理事情的绝佳方式。我在我的内部工作 CMS 中使用这种方法。
唯一的缺点是它可能会变得庞大并存在性能问题。您可能需要编写一个导出脚本,以便您可以抓取属于某个站点的所有内容,然后将它们移动到自己的安装中。
【讨论】:
你的意思是我描述和想要做的方式是正确的? 你的方式是一个非常好的解决方案,我有 2/3 的时间是这样做的。以上是关于在codeigniter中制作多站点和多语言网站的正确方法的主要内容,如果未能解决你的问题,请参考以下文章
如何处理 Codeigniter 上的多语言 uri 重定向?