Итак, я немного новичок в PHP и мне было интересно, если кто-то может дать мне простой, но глубокий ответить на проблему, которую я имею ..
Например, возьмем такой форум. Когда пользователь создает новую ветку, как сайт создает новую страницу (свою ветку)? Обычно URL-адрес будет выглядеть как HTTP:. // WWW (имя_сайт) .com / форум / 77375 <- Почтовый идентификатор я предполагаю. Как бы я сделал такую вещь?
У меня есть сайт, который требует от пользователей отправки статьи, и в настоящее время я сделал это, чтобы информация о статье отправлялась в базу данных. Теперь мне нужно сделать так, чтобы была создана новая страница с уникальным URL-адресом, на котором была написана статья.
Я использую PHP с MySqli
— Помощь очень ценится 🙂
Когда вы видите такой удобный для SEO URL-адрес, сайт не (или, по крайней мере, не должен) создавать файл с идентификатором поста. Сайт переписывает URL. В основном это займет URL, такой как http://www.sitename.com/forum
и независимо от того, что происходит после этого, всегда загружайте один и тот же файл (скажем, он называется forum.php
, Затем он возьмет оставшуюся часть URL-адреса и изменит ее на строку запроса.
Так что это будет в основном переписать:
http://www.sitename.com/forum/123456
быть:
http://www.sitename.com/forum.php?thread_id=123456
Какой файл forum.php может затем получить данные из строки запроса и узнать, как извлечь сообщения форума для темы с идентификатором 123456
Вот пост с дополнительной информацией:
Перезапись URL с помощью PHP
RewriteEngine on
# Not for real file or directory
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
# for category-1/ and all like xxxxx-xxx-nnn
RewriteRule ^([^/]+-\d+)/?$ /index.php?page=category&category_name=$1 [L]
# for contact/ or about/ or other/
RewriteRule ^([^/]+)/$ /index.php?page=$1 [L]
так что вы можете получить что-то вроде ниже:
http://www.example.com/index.php?page=Movie&MOVIE_NAME = anyMovie
— > http://www.example.com/anyMovie/