Создание произвольных URL, которые работают как перенаправление виртуальных каталогов

Я новичок в администрировании серверов, поэтому я даже не уверен, что отправлю это в нужном месте. Если это кажется плохим вопросом, пожалуйста, ответьте правильно. Спасибо.

В течение некоторого времени мне было интересно, как работают такие сайты, как сокращение URL. Например, сокращенный URL с популярным сервисом bit.ly выглядит так: http://bit.ly/2bgrkx

Мой вопрос: как их серверы настроены на обработку этих URL с уникальными шорткодами в конце? А также, как эта обработка может быть реализована в среде IIS, с другой целью, конечно, а не с сокращением URL. Например, я также видел, что twtvite.com делал с этими URL-адресами.

Я подумал, что они могут создавать виртуальные каталоги, которые перенаправляют, но это кажется слишком необычным.

Большое спасибо, надеюсь, этот вопрос не слишком уместен.

5 ответов

Большинство сокращателей URl работают так - все запросы, которые не запрашивают CSS / или другие статические файлы, направляются в сценарий, который нашел соответствующий реальный URL из короткого идентификатора URL.

Тогда есть 2 способа: а) Отправка заголовка HTTP, который приказывает браузеру перенаправить. Самый популярный выбор 302 найдено. Согласно спецификации HTTP, это временное перенаправление, но большинство браузеров реализуют это как перенаправление. Лучший выбор - 301 Перемещено постоянно. б) Отправка HTML-документа, с мета-тегом, который говорит браузер для перенаправления. В основном, это плохая идея, потому что все перенаправления будут временными, и действительный HTML-документ потребляет больше ресурсов, чем простой HTTP-заголовок. И правильный способ - делать это на уровне протокола, а не на уровне содержимого.

Если вы хотите посмотреть, как работают определенные службы сокращения URL-адресов, вы можете использовать Firebug ( https://addons.mozilla.org/en-US/firefox/addon/1843), чтобы просмотреть все запросы и ответы с заголовками HTTP.

В Apache вы можете использовать mod_rewrite, чтобы переписать URL, в IIS - http://www.isapirewrite.com/ (возможно, есть лучшее решение, но я больше не активный пользователь IIS).

Вы хотите посмотреть на псевдонимы URL. Я не знаю, как это сделать в IIS, так как я пользователь Apache.

В своей статье (на которую указал Максвелл) я использую перенаправления IIS & 404 для создания укороченного URL-адреса.

Почему вы говорите, что это нецелесообразно?

Вы можете увидеть эту статью в Википедии о сокращении URl и статью о том, как ее реализовать.

PS: лучше не использовать предсказуемый алгоритм сокращения.

Надеюсь это поможет.

РЕДАКТИРОВАТЬ: Просто посмотрите это через Lifehacker.

Два простых способа сделать это:

1) Используйте HTTP-заголовок для перенаправления: в PHP это можно сделать так:

header ("Location: http://example.com/");

Я не уверен, какой код HTTP это генерирует, но это сработало для меня. Больше информации на сайте PHP.net. Вот немного информации ASP.

2) Используйте метатег HTML для обновления в новом месте.

<meta http-equiv="refresh" content="0;url=http://example.com/" />

Смотрите эту статью в Википедии для получения дополнительной информации о метатеге.

Другие вопросы по тегам