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

CodeIgniter User Guide Version 2.1.3


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

Яндекс.Метрика