ЧПУ в движок на PHP
В съвременния свят адреси с цифрички от вида
/page/1 се считат за некрасиви. По-
красиво е, когато за страница се посочва не
нейния номер, а текстово име, съответстващо
на заглавието на страницата, например, ето така: /page/my-first-page.
Такива адреси се наричат ЧПУ (човешко-разбираеми урл).
Наличието на ЧПУ е по-удобно за потребителя, отколкото
нищо не казващите му номера id.
Освен това, за ЧПУ търсачките ще
повишават позициите на нашия сайт.
Парчето от урла, съответстващо на името на страницата, се нарича слъг (slug). Нека в нашата база данни добавим на нашите страници колона със слъгове:
| 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> |
Нека сега преработим нашия движок за работа със слъгове вместо с id. За това ще поправим регулярния израз:
<?php
preg_match('#/page/([a-z0-9_-]+)#', $url, $match);
$slug = $match[1];
?>
И в условието за търсене на страница ще посочим слъга вместо id:
<?php
$query = "SELECT * FROM pages WHERE slug='$slug'";
?>
Преобразувайте вашия сайтов движок за работа с ЧПУ. Тествайте работата му.