Упрощение URL-адресов в CodeIgniter: удаление «Общедоступных» для более чистых ссылок

Метод 1: использование правил перезаписи.htaccess
Один из наиболее распространенных подходов к удалению «публичного» сегмента — использование правил перезаписи.htaccess. Выполните следующие действия:

  1. Создайте новый файл с именем «.htaccess» в корневом каталоге вашего приложения CodeIgniter, если он еще не существует.
  2. Откройте файл.htaccess и добавьте в него следующие строки:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ public/$1 [L]
  1. Сохраните файл.htaccess и загрузите его на свой сервер.

Этот метод перенаправляет все запросы в «общедоступную» папку, не раскрывая ее в URL-адресе. Теперь ваши URL-адреса будут выглядеть чище и профессиональнее.

Метод 2: изменение файла.htaccess в «общедоступной» папке.
Если вы предпочитаете сохранить «общедоступную» папку, но все же хотите удалить ее из URL-адреса, вы можете изменить файл.htaccess в этой папке.. Вот что вам нужно сделать:

  1. Найдите файл.htaccess в «общедоступной» папке вашего приложения CodeIgniter.
  2. Откройте файл.htaccess и измените строку RewriteBase, чтобы она соответствовала базовому URL-адресу вашего приложения. Например:
RewriteBase /your-app-folder/
  1. Сохраните файл.htaccess.

При использовании этого метода вы сохраняете «общедоступную» папку, но получаете более чистые URL-адреса, скрывая ее в адресной строке.

Метод 3: настройка конфигурации CodeIgniter
Если вам удобно изменять конфигурацию CodeIgniter, вы можете изменить поведение маршрутизации по умолчанию, чтобы удалить «публичный» сегмент. Вот как:

  1. Откройте файл application/config/routes.php вашего проекта CodeIgniter.
  2. Найдите строку, которая устанавливает контроллер по умолчанию, обычно это выглядит так:
$route['default_controller'] = 'public/home';
  1. Измените строку, чтобы удалить «публичный» сегмент:
$route['default_controller'] = 'home';
  1. Сохраните файл.

Настраивая маршрутизацию по умолчанию, вы фактически удаляете «общедоступный» сегмент из структуры URL.