7

Короткие ссылки — rev=canonical#

 3 years ago
source link: https://solovyov.net/blog/2009/revcanonical/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Короткие ссылки — rev=canonical#

Буквально вчера мне в читалку приехал пост Саймона Виллисона о довольно новом способе сокращать урлы.

Идея заключается в том, что сокращалки урлов на самом деле - не очень хорошая штука, особенно с точки зрения жизни этих ссылок (вопрос о том, нужно ли сокращать урлы - отдельная вещь). Что, если tinyurl.com умрет? Куча ссылок перестанет работать, даже если их цель все еще жива. В результате обсуждения родилась мысль, что можно же позволить сайтам самим указывать короткие урлы, с возможностью использования своих собственных сокращалок адресов.

Итого - сайт со спецификацией (если это можно так назвать), вкратце - надо указать в <head>...</head> документа подобный линк:

<link rev="canonical" href="здесь-короткий-урл">

И вот в посте Саймон рассказывает о том, как он реализовал это у себя - мне решение понравилось тем, что в базу ничего не сохраняется. ;) Однако то, что у него захардкожены модели - это не сильно клево, потому я сел и быстренько сделал небольшое джанго-приложение - revcanonical, которое только тем и занимается, что генерирует и редиректит такие ссылки.

Все урлы имеют вид двух строчек, объединенных точкой - это base62-кодированные1 номера типа (ContentType) и самого объекта в базе данных. Т.е. применять можно абсолютно для любого объекта без всякой настройки. Определение урла, как обычно - с помощью get_absolute_url(), ну да об этом написано и в README.

Само собой, оно уже встроено в Byteflow. ;-)


  1. Цифры, большие и маленькие латинские буквы ↩︎

Apr 2009


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK