войти на сайт Бесплатно можно смотреть фильмы онлайн и не забудьте о шаблоны dle на нашем ресурсе бесплатно скачать фильмы c лучшего сайта

Делаем URL в Yii человеко-понятными (ЧПУ)




Раздел: Программирование | Автор: Admin | Дата: 21-09-2017, 06:19

По-умолчанию Yii генерирует URL вида  
/index.php?r=controller/action.

Например, адрес стандартной страницы логина будет выглядеть так:
/index.php?r=site/login.

Это означает, что будет вызван метод actionLogin контроллера SiteController.
Посмотрим, как можно преобразовать этот URL в человеко-понятный(ЧПУ). Более того, постараемся придать ему такой вид, как будто это статическая страница.

Эта задача включает в себя три этапа:
1.) Избавиться от видимого в URL параметра GET-запроса;
2.) Убрать «index.php» из URL;
3.) Добавить расширение .html в конце.
Прежде всего нужно найти следующий код:
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'/'=>'/view',
'//'=>'/',
'/'=>'/',
),
),

и раскомментировать его.
Строка
'urlFormat'=>'path' 

решает нашу первую задачу. Она включает так называемый path-формат отображения  URLов.  URL /index.php?r=site/login будет выглядеть теперь  как  /index.php/site/login.
Теперь избавимся от index.php.  Первым делом нужно разрешить перезапись URLов в настройках http-сервера.  Если вы используете Apache, для этого  достаточно создать в корневом каталоге сайта файл .htaccess с таким содержанием:
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php




Теперь сконфигурируем свойство showScriptName компонента urlManager таким образом:
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName' => false,
)

Адрес страницы логина сократился до /site/login. Это уже  совершенно дружественный пользователю «человеко-понятный» URL, и на этом можно остановиться.  
Но мы пойдём ещё дальше и добавим к адресу каждой страницы расширение «html», чтобы при взгляде на адресную строку у не слишком искушённого пользователя не возникало даже мысли о том, на каком движке или фреймворке написан этот сайт. Это статические html-страницы  — и всё тут!  Конечно, наша истинная цель заключается не в том, чтобы обманывать неискушённых  пользователей, а в том, чтобы потрафить вкусам поисковых систем и придать нашим страницам более SEO-дружественный вид.
Для этого добавим в urlManager следующее правило:
'pattern1'=>array('//'

Полный код будет выглядеть так:
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName' => false,
'urlSuffix'=>'.html',
'caseSensitive'=>false,
'rules'=>array(
'pattern1'=>array('//',),
),
),

Как видите, ЧПУ в фреймворке Yii — это не сложно, хотя потребовалось небольшое вмешательство в настройки http-сервера.

Видео Делаем URL в Yii человеко-понятными (ЧПУ):
Метки » Yii ЧПУ
Комментов: 0
Просмотров: 424
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Понравился пост? Посмотрите эти:
Имя:*
E-Mail:
Комментарий:
Введите код: *
Кликните на изображение чтобы обновить код, если он неразборчив