Разница между IIS Redirect и Rewrite (относительно перенаправления)

Вопрос может показаться странным, но, учитывая статью, определенно возможно использовать модуль перезаписи для выполнения перенаправлений так же, как с модулем перенаправления. Оба могут выдавать постоянное перенаправление (301).

Есть вопрос, спрашивающий разницу, но он говорит о модуле перезаписи, который используется для перезаписи, а не перенаправления. Другой пост проясняет это, но, похоже, не дает адекватного ответа.

Отсюда мой вопрос: в чем разница между этими модулями? Что предпочтительнее других, когда речь идет о перенаправлениях?

1 ответ

ПРИМЕЧАНИЕ. ДАННЫЙ ОТВЕТ НЕ отвечает на разницу между перенаправлением IIS (httpRedirect) и перенаправлением модуля перезаписи URL, а скорее на разницу между модулем перезаписи URL (перенаправление и перезапись).

Если вы пытаетесь скрыть сложный URL-адрес (с помощью строк запросов) для более удобных URL-адресов, тогда перезапись - это путь, так как браузер / поисковые системы всегда будут видеть 200OK и предполагать, что содержимое исходит от запрошенного исходного URL-адреса.

Если вы пытаетесь указать смене ресурса для поисковых систем / пользователей нового URL-адреса, тогда Redirect - это путь, по которому вы отправляете код состояния 301, говорящий о том, что ресурс переместился из оригинала в это новое местоположение.

IIS Redirect:

  • Перенаправление происходит на стороне клиента
  • Браузер видит другой URL в адресной строке.
  • Клиент знает о URL перенаправления.
  • 301/302 может быть выдан. Изменить: (303/307 может быть выдан тоже)
  • Хорошо для SEO/ поисковой системы, чтобы указать новый URL. mysite.com/abc to mysite.com/pqr
  • Может быть перенаправлен на тот же сайт или на другой сайт в целом.

IIS переписать:

  • Перенаправление происходит на стороне сервера
  • Браузер не видит новый URL в адресной строке.
  • Клиент не знает, если контент подается с переписанного URL.
  • № 301/302 выдаются. Это будет нормально 200 ОК, при условии, что перезаписанный ресурс URL доступен.
  • Хорошо, чтобы скрыть недружественный URL, а также SEO. mysite.com/article/test-sub/ to mysite.com/article.aspx?id=test-sub
  • Как правило, для ресурса в пределах одного сайта.

Обработка запросов (REDIRECT): www.mysite.com/abc для перенаправления на www.mysite.com/pqr

  1. Звонки клиентов: www.mysite.com/abc
  2. Модуль перезаписи URL видит соответствие правила для URL клиента и выдает новый URL перенаправления.
  3. Сервер отвечает с 301 с новым URL для клиента, чтобы позвонить www.mystite.com/pqr
  4. Клиент называет новый URL www.mystite.com/pqr
  5. Сервер отвечает 200 OK для нового URL. (адресная строка показывает новый URL)

Обработка запросов (REWRITE): www.mysite.com/abc, на который вы хотите указать www.mysite.com/pqr

  1. Звонки клиентов: www.mysite.com/abc
  2. Модуль перезаписи URL видит соответствие правила и предоставляет новый переписанный URL-адрес для IIS, т. Е. Www.mysite.com/pqr, и сервер делает запрос на этот URL-адрес в IIS.
  3. Сервер отвечает 200 OK для оригинального URL, но с контентом из переписанного URL. (в адресной строке отображается исходный URL-адрес, а клиент не знает, что вы используете контент с другого URL-адреса)
Другие вопросы по тегам