Я видел много материала о том, как создать уникальный заголовок слага и затем сохранить его в базе данных.
Я хочу сделать блог с URL, как blog/my-first-post
а затем получить содержимое из базы данных и сделать вид.
Допустим, у меня будет очень простая таблица со столбцами (id, title, body, slug) и у меня уже есть слизняк в базе данных для каждого поста.
Как я могу сделать простой маршрутизатор в PHP, который получает URL blog/my-first-post
получить слаг и найти его в базе данных, а затем получить содержимое этого поста из БД, чтобы я назначил содержимое блога в массив, а затем сделать представление для этого URL?
Все это без использования PHP-фреймворка, если это возможно.
Вы можете перенаправить все на страницу index.php с помощью htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
Используя этот файл htaccess, URL будут выглядеть так www.website.com/blog/slug-name
slug-name
часть URL может быть доступна с $_GET['url']
Затем просто получите соответствующие данные из вашей базы данных, которые соответствуют слагу:
SELECT title, body FROM blogs WHERE slug = $_GET['url']
Очевидно, что не используйте этот SQL, это всего лишь пример. Убедитесь, что вы используете готовые заявления
Других решений пока нет …