PHP движогиндеги ЧПУ
Заманбап дүйнөдө /page/1 сыяктуу
сандарды камтыган даректер сулуу эмес деп
эсептелет. Барактын номери эмес, темасына
туура келген тексттүү аты көрсөтүлгөндө
дагы сулуу, мисалы, мындай: /page/my-first-page.
Мындай даректер ЧПУ (адамга түшүнүктүү URL)
деп аталат. ЧПУнун болушу колдонуучу үчүн
ага эч нерсе айтпаган id сандарынан
ыңгайлуу. Мындан сырткары, издөө системалары
ЧПУ үчүн биздин сайттын абалын жогорулатат.
Барактын атына туура келген URL бөлүгү слаг (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'";
?>
Сиздин сайт движогуңузду ЧПУ менен иштөөгө өзгөртүңүз. Анын ишин сынап көрүңүз.