Я хочу опубликовать свой сайт 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
Вам не нужно дублировать вашу заявку на каждую среду. 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.');
}
Попробуй это…
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/';
Просто скопируйте содержимое сайта (а не папки сайта, а просто содержимое) в общедоступный HTML-файл на сервере.
затем установите base_url как ‘http://example.com/
Nb: если используете базу в htaccess, измените ее на просто /