Это проще всего сделать, используя субдомен для промежуточной версии, т.е. staging.doman.com
. Папка, в которую вы помещаете файлы CI, не имеет большого значения, так как субдомен будет настроен на использование выбранного вами каталога.
Вам потребуется либо полный контроль над сервером, либо поставщик услуг, который позволяет настраивать субдомены.
- Расширенный ответ -
Если вы не можете настроить поддомен, тогда ваш следующий лучший вариант - воспользоваться рекомендациями в документации по Управление вашими приложениями . Не обязательно использовать файловую структуру, показанную там. В вашем случае попробуйте следующее.
Создать папку на том же уровне, что и application
с именем staging
.
В эту папку скопируйте все папки и файлы, которые обычно находятся в /application
.
Добавьте все папки приложений и файлы, необходимые для вашего сайта. В этих папках находятся файлы, из которых состоит приложение, которое вы ставите.
Сделайте копию index.php
(файл в корне общей папки, т.е. domain.com/index.php
) и назовите его staging.php
. index.php
и staging.php
будут находиться в одной папке.
Измените staging.php
и измените значение $application_folder
на абсолютный путь к промежуточной папке. Например:
$application_folder = '/path/to/domain.com/public_folder/staging';
Путь выше является примером. Вы должны заменить его реальным путем на вашем сервере. Если вы не знаете, что такое полный и абсолютный путь, вы можете использовать
$application_folder = dirname(__FILE__).'/staging';
- Перейдите по URL
domain.com/staging.php
, и вы должны получить выходные данные контроллера по умолчанию. Чтобы проверить, что вы действительно видите промежуточную версию страницы, временно измените что-либо в файле представления, чтобы не было никаких сомнений.
Вы перейдете на другие контроллеры по URL domain.com/staging.php/other_controller
.
Измените значение $config['index_page']
в /staging/config/config.php
на staging.php
, например,
$ config ['index_page'] = 'staging.php';
Без вышеуказанного изменения redirect()
и многие другие вспомогательные функции не будут работать правильно.
- (Необязательно?) Вы, вероятно, можете отредактировать основной
.htaccess
и добавить правила перезаписи для staging.php
так же, как это делается для index.php
. Но я оставлю это как упражнение для вас. (Или для другого вопроса ТАК.)
Последнее слово. Возможно, потребуется внести другие изменения в конфигурацию, чтобы приспособить пересмотренную структуру файла. Я проверил ответ здесь, но не выходил за рамки самой простой задачи просмотра контроллеров. Скорее всего, настройки конфигурации для сеансов, файлов cookie и многих других должны быть скорректированы для корректной работы промежуточной версии. Ознакомьтесь с документацией по Работа с несколькими средами , чтобы узнать, как сделать это менее болезненным.