Разница между 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
- Звонки клиентов: www.mysite.com/abc
- Модуль перезаписи URL видит соответствие правила для URL клиента и выдает новый URL перенаправления.
- Сервер отвечает с 301 с новым URL для клиента, чтобы позвонить www.mystite.com/pqr
- Клиент называет новый URL www.mystite.com/pqr
- Сервер отвечает 200 OK для нового URL. (адресная строка показывает новый URL)
Обработка запросов (REWRITE): www.mysite.com/abc, на который вы хотите указать www.mysite.com/pqr
- Звонки клиентов: www.mysite.com/abc
- Модуль перезаписи URL видит соответствие правила и предоставляет новый переписанный URL-адрес для IIS, т. Е. Www.mysite.com/pqr, и сервер делает запрос на этот URL-адрес в IIS.
- Сервер отвечает 200 OK для оригинального URL, но с контентом из переписанного URL. (в адресной строке отображается исходный URL-адрес, а клиент не знает, что вы используете контент с другого URL-адреса)