Linux 用于开发和生产的不同URL

Linux 用于开发和生产的不同URL,linux,codeigniter,nginx,Linux,Codeigniter,Nginx,我正试图用NGINX建立一个CodeIgniter项目。然而,举例来说,它已经是一个在线的网站了。这意味着该项目还有$config['base\u url']='test.com'。但是,当我想设置NGINX服务器块时,我必须定义与base\u url中的域相同的服务器名。然而,我想有发展的网址,应该只是链接到在线网站。如何实现这一点?创建环境 在index.php中,找到一行 //define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVE

我正试图用NGINX建立一个CodeIgniter项目。然而,举例来说,它已经是一个在线的网站了。这意味着该项目还有
$config['base\u url']='test.com'
。但是,当我想设置NGINX服务器块时,我必须定义与
base\u url
中的域相同的服务器名。然而,我想有发展的网址,应该只是链接到在线网站。如何实现这一点?

创建环境

在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;
}
现在您有了一个全局变量环境,它具有生产或开发的价值。您可以在这个变量上放置一个开关,并在config.php中为base_url赋值,或者在database.php中选择activegroup作为DB凭证

创建环境

在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;
}

现在您有了一个全局变量环境,它具有生产或开发的价值。您可以在这个变量上放置一个开关,并在config.php中为base_url赋值,或者在database.php中选择activegroup作为DB凭证

在CI中,您可以为正在使用的每个环境定义一个
config.php
文件。
config
文件夹中,创建一个
development
文件夹,在其中放置一个
config.php
文件,其中包含所需的
base\u url
。然后,在该环境中,CI将使用该新文件而不是主
config.php
文件。

在CI中,您可以为正在使用的每个环境定义一个
config.php
文件。
config
文件夹中,创建一个
development
文件夹,在其中放置一个
config.php
文件,其中包含所需的
base\u url
。然后,在该环境中,CI将使用该新文件而不是主
config.php
文件。

设置环境变量。 为了你的作品

 define('ENVIRONMENT','production');
以及促进发展

 define('ENVIRONMENT','production');
在您的配置文件中,您可以像这样检查或检查任何变量

if(ENVIRONMENT == 'development'){
    $config['base_url'] = 'test.dev';
}else{
    $config['base_url'] = 'test.com';
}

设置环境变量。 为了你的作品

 define('ENVIRONMENT','production');
以及促进发展

 define('ENVIRONMENT','production');
在您的配置文件中,您可以像这样检查或检查任何变量

if(ENVIRONMENT == 'development'){
    $config['base_url'] = 'test.dev';
}else{
    $config['base_url'] = 'test.com';
}

我尝试过这个,但目前我的test.dev给出了“问题加载页面”。另外,
access.log
error.log
不显示任何请求。我的
/etc/nginx/sites available/test.dev
文件与原始帖子链接中显示的文件类似。我还创建了指向启用的
站点的符号链接
。我做错了什么?当我尝试访问test.com时,将
127.0.0.1 test.com
添加到我的
/etc/hosts
文件会导致“欢迎访问nginx!”网站。换句话说,它现在重定向到默认页面。我认为这可能是您的vhost设置问题。我尝试过这个,但目前我的test.dev给出了“问题加载页面”。另外,
access.log
error.log
不显示任何请求。我的
/etc/nginx/sites available/test.dev
文件与原始帖子链接中显示的文件类似。我还创建了指向启用的
站点的符号链接
。我做错了什么?当我尝试访问test.com时,将
127.0.0.1 test.com
添加到我的
/etc/hosts
文件会导致“欢迎访问nginx!”网站。换句话说,它现在重定向到默认页面。我认为这可能是您的vhost设置问题。显然,在这之前,我对nginx有一个不同的问题。更多细节请参见@shafiq的答案。显然在此之前,我与nginx有不同的问题。更多细节请参见@shafiq的答案。显然在此之前,我与nginx有不同的问题。有关更多详细信息,请参阅@shafiq的答案。显然,在此之前,我与nginx有不同的问题。有关更多详细信息,请参见@shafiq的答案。