URL, связывающие различные страницы нашего приложения в настоящее время, выглядят уродливо. Например, URL для страницы, показывающей запись:
/index.php?r=post/show&id=1
В этом разделе мы опишем, как украсить URL и сделать их SEO-ориентированными. Наша цель состоит в том, чтобы использовать следующие URL в приложении:
/index.php/tag/yii: ведет на страницу, отображающую список записей с тэгом yii;/index.php/posts: ведет на страницу, отображающую список последних записей;/index.php/post/1: ведет на страницу, отображающую детали записи с ID равным 1;/index.php/post/update/1: ведет на страницу, позволяющую обновить запись с ID равным 1.Для достижения нашей цели, изменим конфигурацию приложения следующим образом:
return array(
......
'components'=>array(
......
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'tag/<tag>'=>'post/list',
'posts'=>'post/list',
'post/<id:\d+>'=>'post/show',
'post/update/<id:\d+>'=>'post/update',
),
),
),
);В коде выше мы настраиваем компонент urlManager,
устанавливая его свойство urlFormat в значение path и добавляя несколько
правил маршрутизации.
Правила используются компонентом urlManager для разбора и создания URL в
желаемом формате. Например, первое правило говорит, что, если запрошен URL
/index.php/tag/yii, компонент urlManager должен послать запрос по
маршруту post/list и создать
GET-параметр tag со значением yii. С другой стороны, при создании URL с
маршрутом post/list и параметром tag, компонент urlManager будет также
использовать это правило для создания желаемого URL /index.php/tag/yii.
Поэтому мы называем компонент urlManager двухсторонним менеджером URL.
Компонент urlManager может и далее украшать наши URL, например, сокрытием
части index.php в URL или созданием суффикса .html. Мы можем легко получить
эти особенности, конфигурируя различные свойства компонента urlManager в
конфигурации приложения. За деталями обратитесь к разделу
красивые адреса URL руководства.
Signup or Login in order to comment.