Php 过载代码点火器';s base_url

Php 过载代码点火器';s base_url,php,codeigniter-2,Php,Codeigniter 2,我有54个网站有不同的URL,但使用完全相同的codeigniter系统和应用程序文件夹(在你认为我以垃圾邮件为生之前,现实情况是我们拥有/管理54个使用相同网站“模板”的属性,并通过数据库和/或vhosts/httpdocs文件夹中的单独资产文件夹区分每个网站的内容。) 我将CI_2.0.3的系统和应用程序文件夹放在每个域的httpdocs文件夹上方的vhosts目录中,并且可以从两个测试站点成功命中它,每个站点都显示CI欢迎屏幕 但是,我担心的是基本URL。如果一个是www.campuslo

我有54个网站有不同的URL,但使用完全相同的codeigniter系统和应用程序文件夹(在你认为我以垃圾邮件为生之前,现实情况是我们拥有/管理54个使用相同网站“模板”的属性,并通过数据库和/或vhosts/httpdocs文件夹中的单独资产文件夹区分每个网站的内容。)

我将CI_2.0.3的系统和应用程序文件夹放在每个域的httpdocs文件夹上方的vhosts目录中,并且可以从两个测试站点成功命中它,每个站点都显示CI欢迎屏幕

但是,我担心的是基本URL。如果一个是www.campuslodge.com,另一个是campuscreek.com,我如何在单个config/config.php文件中处理它?我可以通过存在于54个域httpdocs文件夹中的index.php文件将属性号传递给应用程序,因此我也可以在那里为base_url声明一个全局文件,并将config/config.php中的一个保留为空???还是我应该做些别的事


底线是,我需要54个唯一的域来指向系统和应用程序的单个CI安装,这样我就可以进行一次全局更改,而不是54次。

您回答了您的问题。在每个index.php中定义一个常量,例如:

define('_MY_BASE_URL', 'http://yourdoamin.com');
在config.php中执行以下操作:

$config['base_url'] = _MY_BASE_URL;

在配置文件中,您可以将
$config['base\u url']
设置为空字符串,codeigniter将猜测正确的协议和域是什么。因此,如果客户端在访问您的站点,那么
base\u url()
将返回
http://www.example.com/

否则,您可以将其设置为
$\u SERVER['SERVER\u NAME']
,并将其设置为客户端访问的任何域

// in application/config.php
$config['base_url'] = 'http://' . $_SERVER['SERVER_NAME'];

很好,+1,因为我没有想到:)我认为你的答案应该是正确的,但在我的情况下,下面的答案效果更好。我们还有一个开发站点,其中所有属性都有一个子文件夹,它们的开发站点位于该文件夹中。你的解决方案对他们不起作用。但是对于一个很好的答案,我给出+1.cool。这就是堆栈溢出的好处所在。各种选择,各种观点,各种解决方案。