Метод 1: использование правил перезаписи.htaccess
Один из наиболее распространенных подходов к удалению «публичного» сегмента — использование правил перезаписи.htaccess. Выполните следующие действия:
- Создайте новый файл с именем «.htaccess» в корневом каталоге вашего приложения CodeIgniter, если он еще не существует.
- Откройте файл.htaccess и добавьте в него следующие строки:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ public/$1 [L]
- Сохраните файл.htaccess и загрузите его на свой сервер.
Этот метод перенаправляет все запросы в «общедоступную» папку, не раскрывая ее в URL-адресе. Теперь ваши URL-адреса будут выглядеть чище и профессиональнее.
Метод 2: изменение файла.htaccess в «общедоступной» папке.
Если вы предпочитаете сохранить «общедоступную» папку, но все же хотите удалить ее из URL-адреса, вы можете изменить файл.htaccess в этой папке.. Вот что вам нужно сделать:
- Найдите файл.htaccess в «общедоступной» папке вашего приложения CodeIgniter.
- Откройте файл.htaccess и измените строку RewriteBase, чтобы она соответствовала базовому URL-адресу вашего приложения. Например:
RewriteBase /your-app-folder/
- Сохраните файл.htaccess.
При использовании этого метода вы сохраняете «общедоступную» папку, но получаете более чистые URL-адреса, скрывая ее в адресной строке.
Метод 3: настройка конфигурации CodeIgniter
Если вам удобно изменять конфигурацию CodeIgniter, вы можете изменить поведение маршрутизации по умолчанию, чтобы удалить «публичный» сегмент. Вот как:
- Откройте файл application/config/routes.php вашего проекта CodeIgniter.
- Найдите строку, которая устанавливает контроллер по умолчанию, обычно это выглядит так:
$route['default_controller'] = 'public/home';
- Измените строку, чтобы удалить «публичный» сегмент:
$route['default_controller'] = 'home';
- Сохраните файл.
Настраивая маршрутизацию по умолчанию, вы фактически удаляете «общедоступный» сегмент из структуры URL.