Измените base_url в codeigniter перед публикацией

Я хочу опубликовать свой сайт codeigniter.

Теперь он находится в папке ../htdocs/site/. и base_url это:

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

Должен ли я скопировать папку ‘site’ на реальный сервер и изменить base_url следующим образом:

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

или есть другой способ, чтобы я мог скрыть «/ сайт» в URL?

Это мой первый проект, и ваша помощь высоко ценится.

Обновить:

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

1

Решение

Вам не нужно дублировать вашу заявку на каждую среду. Codeigniter может обрабатывать несколько конфигураций. Вам просто нужно установить одну папку для каждой среды.

Предположим, следующая организация:

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

-index.php

У нас будет 3 среды: Dev / Testing / Production.

Мы знаем, что наше приложение будет иметь разные base_url и conf базы данных в зависимости от среды. Это означает, что нам нужно будет изменять config.php и database.php каждый раз, когда мы будем перемещать наше приложение из env в другое.

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

Внутри этих новых папок просто поместите файлы конфигурации, которые будут отличаться в каждой среде. В нашем случае, 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, в какой среде он находится:

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.');
}
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/';
0

Просто скопируйте содержимое сайта (а не папки сайта, а просто содержимое) в общедоступный HTML-файл на сервере.
затем установите base_url как ‘http://example.com/

Nb: если используете базу в htaccess, измените ее на просто /

0
По вопросам рекламы [email protected]