Codeigniter urls codeigniter user guide

За замовчуванням дизайн URL в CodeIgniter є дружнім як для пошукових систем, так і для людей. Замість того, щоб використовувати стандартний підхід "рядків запиту", CodeIgniter використовує сегменторіентірованний підхід:

example.com/ news / article / my_article

Примітка: Рядки запиту можуть бути включені опціонально, як показано нижче.

сегменти URI

Сегменти в URL, відповідно до підходу Model-View-Controller, зазвичай представляють:

example.com/ class / function / ID
  1. Перший сегмент представляє клас контролера, який повинен бути завантажений.
  2. Другий сегмент являє функцію класу, або метод, який повинен бути викликаний.
  3. Третій і будь-які інші сегменти надають дані і будь-які інші змінні, які будуть передані в контролер.

Клас URI і помічник URL містять функції, які спростять вашу роботу з даними URI. Також ви можете переписувати URL, використовуючи URI роутинг для більшої гнучкості.

Видалення index.php з URL

За замовчуванням index.php включений в URL:

example.com/ index.php / news / article / my_article

Ви можете просто прибрати цей "index.php" з URL, використовуючи файл .htaccess з кількома простими правилами. Ось приклад цього файлу, що використовує «негативний» метод, який буде перенаправляти всі, за винятком зазначених елементів:

RewriteEngine on
RewriteCond $ 1! ^ (Index \ .php | images | robots \ .txt)
RewriteRule ^ (. *) $ /index.php/$1 [L] Suffix

В наведеному вище прикладі будь-HTTP-запит перенаправлятиметься в index.php, за винятком запитів в директорію images і файлу robots.txt

Додавання суфікса URL

У вашому файлі config / config.php ви можете вказати суфікс, який буде додано до всіх URL, що згенерував CodeIgniter. Наприклад, якщо URL подібний цьому:

Включення рядків запиту

У деяких випадках ви можете захотіти включити рядки запиту URL:

CodeIgniter опціонально підтримує цю можливість, яка включається в файлі application / config.php. Якщо ви відкриєте файл конфігурації, знайдіть в ньому:

$ Config [ 'enable_query_strings'] = FALSE;
$ Config [ 'controller_trigger'] = 'c';
$ Config [ 'function_trigger'] = 'm';

Якщо ви встановите "enable_query_strings" в TRUE, опція використання рядків запиту стане активною. Ваші контролери та функції стануть доступними, завдяки використанню "тригерних" слів 'c' і 'm':

Будь ласка, зверніть увагу Якщо ви використовуєте рядка запиту, вам доведеться самостійно створювати URL, так як помічник URI (і деякі інші, на зразок помічника форм) створюють URL по сегментно-орієнтованого принципу.