我正在尝试使用NGINX设置CodeIgniter项目。但是,它已经是一个在线的网站,例如test.com。这意味着该项目还有$config['base_url'] = 'test.com'
。但是,当我想设置NGINX服务器块时,我必须根据this post定义与base_url
中的域相同的服务器名称。但是,我希望将url test.dev用于开发,test.com应该只链接到在线网站。我如何实现这一目标?
答案 0 :(得分:2)
设置您的ENVIRONMENT变量。 https://www.codeigniter.com/user_guide/general/environments.html 为了您的生产
define('ENVIRONMENT','production');
和发展
define('ENVIRONMENT','production');
在您的配置文件中,您可以像这样或任何变量进行检查
if(ENVIRONMENT == 'development'){
$config['base_url'] = 'test.dev';
}else{
$config['base_url'] = 'test.com';
}
答案 1 :(得分:1)
创建环境。 Handling Multiple Environments
在index.php中找到一行
//define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
在该行下方检查dirname并粘贴此代码
switch(dirname(__FILE__))
{
case 'Path\of\your\live\server\folder':
define('ENVIRONMENT','production');
break;
case 'path\of\your\local\folder':
define('ENVIRONMENT','development');
break;
}
现在您拥有一个全局变量ENVIRONMENT,它具有生产或开发价值。您可以在此变量上放置一个开关,并在config.php中为base_url指定值,或在database.php中为DB凭据选择活动组。
答案 2 :(得分:1)
在CI中,您可以为正在使用的每个环境定义config.php
文件。
在config
文件夹中,创建一个development
文件夹,在其中放置config.php
文件,其中包含您需要的base_url
。然后,在该环境中,CI将使用该新文件而不是主config.php
文件。