Что не так с этим предложенным решением Router for Vanity-URLs? - PullRequest
2 голосов
/ 03 февраля 2011

Я недавно разместил вопрос о создании тщеславных URL-адресов на своем сайте, и хотя я получил много отличных ответов, мне любопытно узнать, что не так с моей первоначальной идеей:

Вот проблема: В настоящее время у меня есть ужасные URL, которые выглядят так: http://www.hikingsanfrancisco.com/hiker_community/hiker_public_profile.php?community_member_id=2

То, что я хочу, это что-то элегантное: http://www.hikingsanfrancisco.com/alex-genadinik

Какое мое предлагаемое решение: Могу ли я просто сохранить "alex-genadinik" в базе данных (вместо контроллеров MVC) и получить URL-адрес тщеславия при поиске человека. И тогда я мог бы перенаправить на элегантно выглядящий домен?

Или перенаправление добавит уровень технической неловкости и негибкости? Возможно, мне не пришлось бы вообще перенаправлять. Я имею в виду, что я буду искать вещи в БД, а не на сервере. Я думаю, что это единственная разница. Мысли? :)

Ответы [ 2 ]

1 голос
/ 03 февраля 2011

Нет ничего плохого в предложенном вами решении. На самом деле WordPress может быть настроен именно на это.

Я бы реализовал это следующим образом (аналогично WordPress):

  1. Пусть файл .htaccess перехватит все несуществующие файлы, которые просили, и переписать на ваш router.php
  2. У вас есть router.php проверьте для этого несуществующего пути в вашей базе данных, против списка предварительно рассчитанных имен тщеславия.
  3. Если он существует, отобразите соответствующая информация, если не вернуть набор из 404 заголовков, чтобы показать, что ни файл, ни имя тщеславия не существуют.

Руководство по перезаписи URL

1 голос
/ 03 февраля 2011

Drupal на самом деле делает нечто подобное, все псевдонимы URL хранятся в базе данных.Вы можете сделать это как хотите!Я бы подумал о различных типах «вещей», для которых у вас будут URL-адреса, и о том, как их различать, как вы будете выполнять поиск, когда пользователь запрашивает URL-адрес, как вы будете выполнять обратный поиск для создания ссылок из сущностей,и как обрабатывать параметры (т.е. / vanity-url? sortby = blah), если они вам когда-нибудь понадобятся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...