как настроить второе приложение codeigniter в поддомене - PullRequest
0 голосов
/ 18 мая 2019

У меня есть веб-интерфейс и бэкэнд, веб-интерфейс был создан в рамках codeigniter, бэкэнд также был создан в другой структуре codeigniter.

интерфейс: flum.com
бэкэнд: subdomain.flum.com

интерфейс работает нормально, но у меня трудные времена на бэкэнде, он всегда показывает ошибку 404.

в файловом менеджере моего общего хостинга,

frontend - приложение с кодовым номером 1

/root/username/application    
/root/username/system    
/root/username/public_html/index.php    
/root/username/public_html/public/(css, js, images folders)

backend - приложение codeigniter 2

/root/username/subdomain_application
/root/username/subdomain_system
/root/username/public_html/subdomain/index.php
/root/username/public_html/subdomain/public/(css, js, images folders)

оба имеют одинаковые настройки базы данных приложение / Config / database.php

$db['default'] = array(
    'dsn'   => '',
    'hostname' => 'localhost',
    'username' => 'user',
    'password' => 'pass',
    'database' => 'mydatabase',
    'dbdriver' => 'mysqli',...
);

интерфейс приложения / config / config.php

$config['base_url'] = 'http://flum.com';
$config['index_page'] = '';

- Я отредактировал index.php в основном приложении ci

$system_path = '/root/username/application';
$application_folder = '/root/username/system';

Бэкэнд-приложение / config / config.php

$config['base_url'] = 'http://subdomain.flum.com';
$config['index_page'] = '';

- Я отредактировал index.php в основном приложении ci

$system_path = '/root/username/subdomain_application';
$application_folder = '/root/username/subdomain_system';

оба имеют одинаковый .htaccess:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

я ожидал, что бэкэнд будет работать нормально с моим приложением внешнего интерфейса, учитывая, что бэкэнд находится в полностью отделенном приложении codeigniter.

1 Ответ

0 голосов
/ 21 мая 2019

Вот еще одна файловая структура, которую вы можете попробовать. Надеюсь, это даст лучшие результаты.

/root/username/front/application/
/root/username/front/public_html/index.php
/root/username/front/public_html/.htaccess
/root/username/front/public_html/assets/(css, js, images folders)

/root/username/back/application/
/root/username/back/public_html/index.php
/root/username/back/public_html/.htaccess
/root/username/back/public_html/assets/(css, js, images folders)

Как спереди, так и сзади могут использовать один и тот же системный каталог

/root/username/system/

Как спереди, так и сзади нужен собственный index.php. Системный путь одинаков в каждом.

/ передний / public_html / index.php

$system_path = '/root/username/system';
$application_folder = '/root/username/front/application';

/ назад / public_html / index.php

$system_path = '/root/username/system';
$application_folder = '/root/username/back/application';

A .htaccess необходим в обоих каталогах public_html, но они идентичны тем, которые вы указали в вопросе.

Используемые вами значения $config['base_url'] будут в порядке в соответствующих файлах config.php.

Поскольку вы используете .htaccess Я предполагаю, что вы используете Apache. Для блоков в файлах конфигурации сайта Apache для передней и задней части необходимо указать значения DocumentRoot с соответствующим путем к каталогу public_html.

Конфигурация базы данных, показанная в вопросе, должна работать как спереди, так и сзади.

В документации CodeIgniter есть еще одно предложение для Запуск нескольких приложений , аналогичное структуре, которую я показываю. Он использует два файла index.php, но по крайней мере один из них должен иметь другое имя. В вашем случае, возможно, фронт использует index.php, а задний использует backend.php

Чтобы перейти к бэкэнд-контроллеру с именем "admin", URL-адрес будет https://subdomain.flum.com/backend.php/admin

Для удаления index.php или backend.php из URL потребуется более сложный .htaccess. Если честно, я не уверен, как это выглядит и является причиной представленной структуры файла.

...