我一直在寻找一种有效且安全的方法来启用多站点功能,以便在一段时间内进行编码。
我发现这两篇(one& two)文章非常有趣,但它们似乎并没有提供可扩展的方式。在这两个方面,约翰丹尼斯佩德里(链接二)的方法似乎更多地考虑到了我们的目的。
但是,假设您有100个,500个或1000个单独的网站,这种方法仍然是最好的方法吗? IE浏览器。在文件夹中有500个单独的db配置文件,用php更新它们是最好的方法吗?
我认为有用的另一种方法是配置选项数据库。更新数据库,您可以让其他网站上线。但是,这需要以明文形式存储所有数据库用户名和密码。看不出那个过得好。
任何答案,建议,提示或有趣的想法?
答案 0 :(得分:3)
我们可以做这样的事情。
在config.php
文件中,我们可以将base_url定义为
$protocol = preg_split('[/]', $_SERVER["SERVER_PROTOCOL"]);
$http_protocol = strtolower($protocol[0]) . "://";
$config['base_url'] = $http_protocol . $_SERVER["HTTP_HOST"]. "/" ;
我们可以使用前缀并以下划线分隔的域名来创建数据库,并完成设置。
在database.php文件中如下
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'xxxxxxxx';
$db['default']['password'] = 'xxxxxx';
$db['default']['database'] = $_SERVER["HTTP_HOST"] . '_thedatabasename';
答案 1 :(得分:0)
也许你可以在HMVC(分层模型视图控制器)中找到答案
Codeigniter有模块化扩展,您可以找到一些here