Людинозрозумілі URL

URL, що звʼязують різні сторінки нашого додатку в даний час, виглядають потворно. Наприклад, URL для сторінки, що показує запис:



У цьому розділі ми опишемо, як прикрасити URL і зробити їх SEO-орієнтованими. Наша мета полягає у тому, щоб використовувати наступні URL у додатку:

  1. /index.php/posts/yii: веде на сторінку, що відображає список записів із тегом yii;
  2. /index.php/post/2/A+Test+Post: веде на сторінку із повним текстом запису із ID рівним 2 та заголовком A Test Post;
  3. /index.php/post/update?id=1: веде на сторінку редагування запису із ID рівним 1.

Варто відзначити, що у другому випадку ми включили заголовок в URL. Зроблено це перш за все для SEO. Вважається, що пошукові машини можуть індексувати слова в URL.

Для досягнення нашої мети, змінимо конфігурацію додатка наступним чином:



У коді вище ми налаштовуємо компонент urlManager, встановлюючи його властивість urlFormat у значення path і додаючи кілька правил маршрутизації.

Правила використовуються компонентом urlManager для розбору і створення URL у бажаному форматі. Наприклад, друге правило говорить, що, якщо запитуваний URL /index.php/posts/yii, компонент urlManager повинен надіслати запит за маршрутом post/index і створити GET-параметр tag зі значенням yii. З іншого боку, при створенні URL із маршрутом post/index і параметром tag, компонент urlManager буде також використовувати це правило для створення бажаного URL /index.php/posts/yii. Тому ми називаємо компонент urlManager двостороннім менеджером URL.

Компонент urlManager може і далі прикрашати наші URL, наприклад, приховуванням частини index.php у URL або створенням суфікса .html. Ми можемо легко отримати ці особливості, конфігуруючи різні властивості компонента urlManager у конфігурації додатка. За деталями зверніться до розділу красиві адреси URL керівництва.