Przyjazne adresy URL w silniku PHP
We współczesnym świecie adresy z cyferkami postaci
/page/1 są uważane za nieestetyczne. Bardziej
estetycznie jest, gdy dla strony podaje się nie
jej numer, ale tekstową nazwę, odpowiadającą
tytułowi strony, na przykład tak: /page/my-first-page.
Takie adresy nazywane są przyjaznymi adresami URL (przyjazne dla użytkownika adresy internetowe).
Obecność przyjaznych adresów URL jest wygodniejsza dla użytkownika niż
nic niemówiące mu numery id.
Ponadto, za przyjazne adresy URL wyszukiwarki będą
podnosić pozycje naszej strony.
Kawałek adresu URL, odpowiadający nazwie strony, nazywa się slug (slug). Dodajmy w naszej bazie danych do naszych stron kolumnę ze slugami:
| 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> |
Przeróbmy teraz nasz silnik na pracę ze slugami zamiast id. W tym celu poprawmy wyrażenie regularne:
<?php
preg_match('#/page/([a-z0-9_-]+)#', $url, $match);
$slug = $match[1];
?>
I w warunku wyszukiwania strony wskażmy slug zamiast id:
<?php
$query = "SELECT * FROM pages WHERE slug='$slug'";
?>
Przerób swój silnik strony na pracę z przyjaznymi adresami URL. Przetestuj jego działanie.