Code Igniter URLs
По умолчанию, URLs в Code Igniter дружественны по отношению к поисковым системам и людям. Вместо использования стандартных "строк запроса", наблюдаемых во многих динамичных системах, Code Igniter использует базирующийся на сегментах метод:
www.your-site.com/news/article/my_article
Примечание: URLs "строк запроса" могут быть включены способом описанным ниже.
Сегменты URI
Сегменты URL, следуя Модель-Вид-Контроллер методу, обычно представляют собой конструкцию вида:
www.your-site.com/class/function/ID
- Первый сегмент - class указывает класс контроллера, который необходимо инициализировать.
- Второй сегмент - function, указывает функцию или метод класса, который необходимо вызвать.
- Третий, и все последующие, представляют собой ID и любые переменные, которые будут переданы контроллеру.
URI Класс и URL Хэлпер содержат функции, которые облегчают работу с твоими URI данными. Вдобавок, используя URI Маршрутизацию ты можешь перенаправить свои URLs получив необходимую тебе гибкость.
Удаление файла index.php
По умолчанию, файл index.php будет включен в твои URLs:
www.your-site.com/index.php/news/article/my_article
Ты легко можешь удалить этот файл, используя .htaccess файл с простыми правилами. Вот пример такого файла, использующего "негативный" метод при котором все, за исключением указанных пунктов, перенаправляется:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
В этом примере все HTTP запросы, кроме запросов для index.php, картинок, и robots.txt, перенаправляются на твой index.php.
Добавление URL Суффикса
В файле конфигурации config/config.php ты можешь указать суффикс, который будет добавлен ко всем URL сгенерированным
Code Igniter-ом . Например, если URL такой:
www.your-site.com/index.php/products/view/shoes
Ты можешь добавить такой суффикс - .html, и страница будет выглядеть в URL как html:
www.your-site.com/index.php/products/view/shoes.html
Включение Строк Запроса
В некоторых случаях тебе будет удобнее использовать URLs строки запроса:
index.php?c=products&m=view&id=345
Code Igniter поддерживает этот тип представления,он может быть включен в твоем application/config.php файле. Если ты его откроешь то увидишь следующие пункты:
$config['enable_query_strings'] = FALSE;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';
Изменив "enable_query_strings" на TRUE ты активизируешь строки запроса. Теперь твои контроллеры и их методы будут вызываться с помощью "trigger" слов, которые ты задашь для этой цели:
index.php?c=controller&m=method
Примечание: При использовании "строки запроса" тебе придется прописывать свои URLs вручную, так как URL хэлпер (и другие хэлперы генерирующие URLs, например form хэлперы) работают только с базирующимися на сегментах URL.