PHP даги двигада ЧПУ
Замонавий дунёда
/page/1 koʻrinishidги рақамли манзиллар чиройли ҳисобланмайди. Саҳифа учун унинг рақами эмас, балки саҳифа тайтлига мос келадиган матнли ном кўрсатилганда, масалан, шундай: /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> |
Энди бизнинг двигамизни айди ўрнига слаглар билан ишлаш учун қайта қурайлик. Бунинг учун регуляркани тузатамиз:
<?php
preg_match('#/page/([a-z0-9_-]+)#', $url, $match);
$slug = $match[1];
?>
Ва саҳифани қидирув шартида айди ўрнига слагни кўрсатамиз:
<?php
$query = "SELECT * FROM pages WHERE slug='$slug'";
?>
Веб-сайтингиз двигани ЧПУ билан ишлаш учун қайта қуринг. Унинг ишлашини синаб кўринг.