Вопрос

У меня есть веб-сайт ASP.NET 2.0 со специальной страницей 404.Если контент не найден, сайт отображает пользовательскую страницу 404 с добавлением строки запроса aspxerrorpath=/mauro.aspx.Сама страница 404 обслуживается с помощью HTTP статус 200.Чтобы попытаться решить эту проблему, я добавил

    protected void Page_Load(object sender, EventArgs e)
    {
        Response.StatusCode = 404;
    }

Я добавил виджет Google, и у меня возникли две проблемы.В Интернет Проводник 7 он не отображается там, где должен.Если я добавлю его в контент, я получу «неизвестную ошибку» в строке 226 символа 79 или около того;если я добавлю его в раздел заголовка, над содержимым появятся поля поиска.В Фаерфоксе все работает нормально.

Итак, мои проблемы:

  1. Как сделать виджет встроенным?
  2. Как сделать рендеринг страницы ошибки как 404 с исходным именем и путем запрошенного файла, чтобы, когда я прошу Mauro.aspx, я получаю контент для страницы 404, но с URL Mauro.aspx?(Я предполагаю, что мне придется сделать немного перезапись URL-адресов В файле Begin_Request Global.asax, но хотелось бы, чтобы это подтвердилось, прежде чем я сделаю что -то глупое.)
Это было полезно?

Решение 2

Я обработал ошибку 404, выполнив это в файле global.asax.

protected void Application_BeginRequest(object sender, EventArgs e)
{
    string url = Request.RawUrl;
    if ((url.Contains(".aspx")) && (!System.IO.File.Exists(Server.MapPath(url))))
    {
        Server.Transfer("/Error/FileNotFound.aspx");
    }
}

Если кто-нибудь сможет помочь мне с виджетом Google, это будет здорово!

Другие советы

В ASP.NET 3.5 SP1 появился новый режим перенаправления, который теперь можно использовать, чтобы он не перенаправлялся.Он показывает страницу с ошибкой, но URL-адрес остается прежним:

«Также удобно для перенаправления URL-адресов.Если вы установите для параметра redirectMode в web.config значение «responseRewrite», вы сможете избежать перенаправления на пользовательскую страницу ошибок и оставить URL-адрес в браузере нетронутым».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top