在发布之前更改编码器中的base_url


Change base_url in codeigniter before publsihing

我想发布我的代码点火器网站。

现在它位于"../htdocs/site/' 文件夹。base_url是:

$config['base_url'] = 'http://localhost/site'; 

我是否应该将"site"文件夹复制到真实服务器并像这样更改base_url:

$config['base_url'] = 'http://example.com/site';

或者有另一种方法,这样我就可以在 URL 中隐藏"/site"?

这是我的第一个项目,非常感谢您的帮助。

更新:

Root/
      -Application1
      -System1
      -Site1/
                    -index.php
                    -css
                    -js
                   -images
      -Application2
      -System2
      -Site2/
                    -index.php
                    -css
                    -js
                   -images

无需为每个环境复制应用程序。代码点火器可以处理多种配置。您只需为每个环境设置一个文件夹。

假设以下组织:

Root/
      -Application
      -System
      -Assets           
         -css
         -js
         -images
      -index.php

我们将有 3 个环境:开发/测试/生产。

我们知道,根据环境的不同,我们的应用程序将具有不同的base_url和数据库。这意味着每次我们将应用程序从一个 env 移动到另一个环境时.php我们都需要修改配置.php和数据库。

CodeIgniter为我们提供了一种简单的方法:

http://www.codeigniter.com/user_guide/general/environments.html

http://www.codeigniter.com/user_guide/libraries/config.html#environments

我们只需要在应用程序/配置中设置 3 个文件夹

-application
      -config
         - development
         - testing
         - production

在这些新文件夹中,只需放置每个环境上不同的配置文件即可。在我们的例子中,配置.php和数据库.php

-application
      -config
         - development 
              -config.php
              -database.php
         - testing
              -config.php
              -database.php 
         - production
              -config.php
              -database.php
         - autoload.php
         - ...

最后,在根索引中.php只需修改以下行即可告诉CI它是在哪个环境中:

define('ENVIRONMENT', 'development'); //for dev env
define('ENVIRONMENT', 'testing'); //for testing env
define('ENVIRONMENT', 'production'); //for prod env

开发/测试/生产是 CI 中的默认环境,但您只需在应用程序/配置中创建文件夹并在根索引中修改开关即可创建自己的环境.php

switch (ENVIRONMENT)
{
    case 'development':
        error_reporting(E_ALL);
    break;
    case 'server':
        error_reporting(E_ALL);
    break;
    case 'testing':
    case 'production':
        error_reporting(0);
    break;
   /*CUSTOM ENV :*/
    case 'custom_env':
        error_reporting(E_ALL);
    break;
    default:
        exit('The application environment is not set correctly.');
}

试试这个...

Move file from site directory to root directory and change root path index.php
$system_path = '../site/system';
$application_folder = '../site/application';
to 
$system_path = '../system';
$application_folder = '../application';
Change baseurl:$config['base_url'] = 'http://example.com/';

只需将"site"的内容(不是站点文件夹只是内容)复制到服务器中的公共html然后将base_url设置为"http://example.com/

注意:如果在 htaccess 中使用 base 将其更改为 仅/