Response.Redirect не всегда перенаправляет - PullRequest
3 голосов
/ 28 мая 2009

У нас есть простой Response.Redirect на странице, которая работает непоследовательно (IIS 6.0). В большинстве случаев он перенаправляет правильно, но некоторые пользователи жалуются, что вместо перенаправления они получают страницу «Объект 302 перемещен сюда» На странице отображается информация заголовка с правильным расположением. Если вы нажмете «здесь», он будет перенаправлен на правильную страницу.

Есть идеи, почему оно будет отображать сообщение 302 время от времени?

Ответы [ 3 ]

2 голосов
/ 28 мая 2009

302 - это код response.redirect, который возвращается. Я также видел записку, чтобы сделать на стороне клиента

window.location = 'url'

но звучит как настройка браузера.

2 голосов
/ 28 мая 2009

Вы можете попытаться вручную установить код состояния ответа 301. Вот какой-то заимствованный код , который должен вам помочь:

Response.StatusCode = 301; 
Response.StatusDescription = "Moved Permanently";
Response.RedirectLocation = "RedirectionPage.aspx";
Response.Flush();

Вы также можете использовать в качестве последнего усилия Server.Transfer () или вывести простой скрипт, который устанавливает местоположение окна в новый URL-адрес.

Page.ClientScript.RegisterStartupScript(Page.GetType
"RedirectScript", "window.location.href='RedirectionPage.aspx'", true);

Хотя мне интересно, насколько хорошо их браузеры будут работать с javascript, если они не соблюдают оригинальное перенаправление.

У вас есть какая-нибудь информация о браузерах, которые используют эти люди?

0 голосов
/ 11 ноября 2010

Это может произойти, если отсутствует заголовок Location.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...