За замовчуванням дизайн URL в CodeIgniter є дружнім як для пошукових систем, так і для людей. Замість того, щоб використовувати стандартний підхід "рядків запиту", CodeIgniter використовує сегменторіентірованний підхід:
example.com/ news / article / my_article
Примітка: Рядки запиту можуть бути включені опціонально, як показано нижче.
сегменти URI
Сегменти в URL, відповідно до підходу Model-View-Controller, зазвичай представляють:
example.com/ class / function / ID- Перший сегмент представляє клас контролера, який повинен бути завантажений.
- Другий сегмент являє функцію класу, або метод, який повинен бути викликаний.
- Третій і будь-які інші сегменти надають дані і будь-які інші змінні, які будуть передані в контролер.
Клас 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 по сегментно-орієнтованого принципу.