#php #url-rewriting
#php #переписывание URL
Вопрос:
Например, скажем, если пользователь хотел «добавить место» в мою базу данных, как я мог бы практически мгновенно создать страницу с названием этого места в домене, например www.mydomain.com/placename ?
Я понимаю, что это может быть сложным решением, поэтому, если это слишком сложно объяснить, не могли бы вы, пожалуйста, подтолкнуть меня к правильному направлению того, что я должен исследовать.
Комментарии:
1. возможно, вы ищете mod_rewrite, поэтому к любому новому созданному месту можно получить доступ через www.mydomain.com/placename , которая фактически переписывается вашим сервером на что-то вроде: www.mydomain.com/places.php?place=rome
2. Будет ли это «место» всего одной страницей, или это будет хранилище для различных файлов и т.д.?
Ответ №1:
- Создайте функциональность для создания «красивых URL» в php. Подробнее об этом читайте здесь: http://www.roscripts.com/Pretty_URLs_-_a_guide_to_URL_rewriting-168.html
- Создайте функциональность синтаксического анализа для URL-адресов, чтобы она распознавала «/placename» как страницу «placename»
- Создайте структуру базы данных для страниц с идентификатором страницы, заголовком, содержимым и URL-адресом slug и т.д.
- Создайте функциональность для извлечения нужной страницы из базы данных в соответствии с соответствующим URL-адресом.
- Создайте функциональность для отображения полученной информации
Если я вас правильно понял, это один из подходов к тому, что вы хотите сделать.
Ответ №2:
Я предполагаю, что вы используете Apache. Если да, создайте правило, используя mod_rewrite, которое пересылает запросы на /place/placename
в /place.php?name=placename
. Затем напишите place.php скрипт, который извлекает пользовательскую страницу из базы данных и отображает ее соответствующим образом.
Это один из способов сделать это — есть и другие.
Ответ №3:
Прежде всего, попытайтесь понять mod rewrite. Вы могли бы «замаскировать: URL GET в гораздо более приятный формат.
Начните отсюда:http://www.elated.com/articles/mod-rewrite-tutorial-for-absolute-beginners
Затем погуглите и ознакомьтесь со всеми возможностями.
После этого убедитесь, что переменная GET уникальна в вашей базе данных, для абсолютной уверенности используйте уникальный идентификатор.
Пример :
domain.com/PLACEID/PLACENAME/
mod_rewrite может затем перевести это в ваш php-скрипт на :
domain.com/place.php?VAR=PLACEIDamp;VAR2=PLACENAME
Выполните поиск данных от пользователя / места с помощью PLACEID .
Удачи