каково различие между response.redirect и состоянием ответа 301 перенаправление у asp?

Наше приложение ASP перемещается в новый сервер, и я хочу реализовать постоянное перенаправление URL. Я знаю о следующих двух подходах, но я должен понять который использовать и когда.

Опция 1:

<%@ Language=VBScript %><% Response.Redirect "http://www.example.com" %>

Опция 2:

<%@ Language=VBScript %><% Response.Status="301 Moved Permanently" 
  Response.AddHeader "Location","http://www.example.com/" %>

Спасибо,

Nikhil.

12
задан Janac Meena 14 November 2019 в 16:43
поделиться

4 ответа

Response.Redirect выдает 302, что является временным перенаправлением. 301, используя указанный вами Response.AddHeader, предназначен для постоянных перенаправлений.

Различия между 301 и 302 имеют некоторое значение для поисковой оптимизации. 301 будет содержать все ваши поисковые рейтинги из старого местоположения. С другой стороны, если вы НЕ хотите, чтобы ваша новая страница индексировалась, вы можете использовать Response.Redirect (302), поскольку движки будут рассматривать перенаправление как временное. Google не индексирует 302-е, потому что многие спамеры используют ее, чтобы попытаться повысить свой рейтинг.

Поскольку вы постоянно переходите на новый сервер, 301-й - лучший вариант.

14
ответ дан 2 December 2019 в 21:22
поделиться

Response.Redirect () (и эквивалентный метод RedirectPermanent () для 301) многое делает за кулисами. Он null проверяет запрошенную строку URL, кодирует ее, вызывает обработчики событий для события Redirecting , если они есть, и, наконец, вызывает Response.End () , который сбрасывает ответ обратно. в браузер и прерывает текущий поток.

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

Между прочим, есть другие (и лучшие) варианты решения этой проблемы. В IIS есть модуль перезаписи URL , который позволяет перенаправлять заданный URL, не вызывая страницу в качестве обработчика запросов, и централизованно управлять URL-адресами для упрощения управления поисковыми системами.

1
ответ дан 2 December 2019 в 21:22
поделиться

Обычное перенаправление по умолчанию будет использовать HTTP статус 302 . Редирект со статусом 301 не будет проиндексирован поисковыми роботами (такими как Googlebot), а в противном случае они будут удалены из существующих индексов. Очень полезно, если вы хотите «обновить» старый URL-адрес на более новый. Поисковый робот все равно проиндексирует перенаправления со статусом 302, так что вы, скорее всего, получите загрязнение в результатах поиска. Обычно вы используете статус 302, например, для шаблона PRG, и статус 301 для постоянных перенаправлений, как вы делаете сейчас.

0
ответ дан 2 December 2019 в 21:22
поделиться

Response.Redirect отправляет браузеру код состояния «302 - временно перемещен», который может быть нормальным, а может и нет, в зависимости от того, что вы делаете. Если вы перенаправляете в правильное место для вашего контента, вы хотите сделать 301 редирект, потому что поисковые системы не будут сканировать должным образом против 302.

-2
ответ дан 2 December 2019 в 21:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: