CNC en el motor en PHP

En el mundo moderno, las direcciones con números como /page/1 se consideran poco atractivas. Es más bonito cuando para una página no se especifica su número, sino un nombre de texto que corresponda al título de la página, por ejemplo, así: /page/my-first-page.

Estas direcciones se llaman CNC - enlaces comprensibles para humanos. La presencia de CNC es más conveniente para el usuario que los números de identificación id que no le dicen nada. Además, los motores de búsqueda mejorarán la posición de nuestro sitio web gracias a los CNC.

La parte de la URL que corresponde al nombre de la página se llama slug. Vamos a añadir una columna para los slugs a nuestras páginas en nuestra base de datos:

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>

Ahora adaptemos nuestro motor para que funcione con slugs en lugar de IDs. Para ello, corrijamos la expresión regular:

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

Y en la condición de búsqueda de la página, especificaremos el slug en lugar del ID:

php<?php
  $query = "SELECT * FROM pages WHERE slug='$slug'";
?>
Задание 1

Adapte el motor de su sitio web para que funcione con CNC. Pruebe su funcionamiento.