在发布之前在codeigniter中更改baseurl

时间:2015-03-07 07:57:10

标签: php codeigniter url publish

我想发布我的codeigniter网站。

现在它位于' ../ htdocs / site /'夹。而base_url是:

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

我应该复制“网站”吗?文件夹到真实服务器并像这样更改base_url:

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

或者还有另一种方式可以隐藏' / site'在URL?

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

更新

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

3 个答案:

答案 0 :(得分:0)

试试这个......

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/';

答案 1 :(得分:0)

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

Nb:如果在htaccess中使用base,则将其更改为/

答案 2 :(得分:0)

您无需为每个环境复制您的申请。 Codeigniter可以处理多种配置。您只需要为每个环境设置一个文件夹。

让我们假设以下组织:

Root/
      -Application
      -System
      -Assets           
         -css
         -js
         -images

      -index.php

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

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

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

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

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

我们只需要在application / config

中设置3个文件夹
-application
      -config
         - development
         - testing
         - production

在这些新文件夹中,只需放置每个环境中不同的配置文件。在我们的例子中,config.php和database.php

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

最后,在根index.php中只需要修改以下行来告诉CI它在哪个environement中:

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

开发/测试/生产是CI中的默认环境,但您可以通过在application / config中创建文件夹并修改根index.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.');
}