ЧПУ в движке на PHP

В современном мире адреса с циферками вида /page/1 считаются некрасивыми. Более красиво, когда для страницы указывается не ее номер, а текстовое имя, соответствующее тайтлу страницы, например, вот так: /page/my-first-page.

Такие адреса называются ЧПУ - человеко-понятные урл. Наличие ЧПУ удобнее пользователю, чем ничего не говорящие ему номера id. Кроме того, за ЧПУ поисковые системы будут повышать позиции нашего сайта.

Кусочек урла, соответствующей имени страницы, называется слаг (slug). Давайте в нашей базе данных добавим нашим страницам колонку со слагами:

pages
id slug title content
1 my-first-page title1 <div> content1 </div>
2 my-second-page title2 <div> content2 </div>
3 my-third-page title3 <div> content3 </div>

Переделаем теперь наш движок на работу со слагами вместо айди. Для этого исправим регулярку:

<?php preg_match('#/page/([a-z0-9_-]+)#', $url, $match); $slug = $match[1]; ?>

И в условии поиска страницы укажем слаг вместо айди:

<?php $query = "SELECT * FROM pages WHERE slug='$slug'"; ?>

Переделайте ваш движок сайта на работу с ЧПУ. Потестируйте его работу.