在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 网站多语言 CMS 实施的最佳方式

markdown 在CodeIgniter中开发多语言站点

如何处理 Codeigniter 上的多语言 uri 重定向?

Codeigniter:如何使用数据库和用户会话数据构建多语言网站?

如何为真正的多语言网站设置 CodeIgniter?

CodeIgniter 表单验证多语言标签