Назад | Перейти на главную страницу

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

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

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

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

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

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

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

Тогда есть 2 способа: а) Отправка HTTP-заголовка, который предписывает браузеру перенаправить. Самый популярный выбор - 302 Found. Согласно спецификациям HTTP, это временное перенаправление, но большинство браузеров реализуют его как перманентное перенаправление. Лучший выбор - 301 Перемещено постоянно. б) Отправка html-документа с тегом META, который сообщает браузеру о перенаправлении. В основном это плохая идея, потому что все перенаправления будут временными, а действительный 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.

Ты можешь видеть этот Статья в Википедии о сокращении URl и Эта статья о том, как это реализовать.

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

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

В моей статье (которая Максвелл указывает на), я использую перенаправления 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/" />

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