Создание произвольных 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-адреса.
Почему вы говорите, что это нецелесообразно?
РЕДАКТИРОВАТЬ: Просто посмотрите это через 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/" />
Смотрите эту статью в Википедии для получения дополнительной информации о метатеге.