Получите помощь, поддержку и профессиональное общение в Клубе CodeIgniter

# CodeIgniter User Guide Version 2.1.3

Search User Guide

# URLы CodeIgniter

По умолчанию дизайн 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 подобен этому:

`example.com/index.php/products/view/shoes`

Вы можете опционально добавить суффикс, такой как `.html`, и адреса страниц будут соответствовать этому типу:

`example.com/index.php/products/view/shoes.html`

## Включение строк запроса

В некоторых случаях вы можете захотеть включить строки запроса URL:

`index.php?c=products&m=view&id=345`

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

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

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

`index.php?c=controller&m=method`

Пожалуйста обратите внимание Если вы используете строки запроса, вам придется самостоятельно создавать URL, так как помощник URI (и некоторые другие, вроде помощника форм) создают URL по сегментно-ориентированному принципу.

### Поделиться

Переведено в компании Аринт.

# Спасибо!

Вы тоже можете оказать помощь проекту! Как это сделать?

## Помощь и поддержка

Вы можете задать вопросы и получить ответы и советы от гуру CodeIgniter и веб-разработки: вступайте в Клуб CodeIgniter