Member 13142345 Ответов: 1

404 ошибка при перенаправлении URL-адреса с закодированной строкой запроса


у меня есть пара строк, и они кодируются с помощью приведенного ниже кода

protected void page load()
{
DataTable dt = new DataTable();
               
 dt.Columns.Add("a");
 dt.Columns.Add("b");
 dt.Columns.Add("c");
 dt.Columns.Add("d");
 dt.Columns.Add("e");
 dt.Columns.Add("f");
              
 dt.Rows.Add("value1","value2","value3","value4");

 byte[] ba = ConvertToBytes(dt);

 string data = Convert.ToBase64String(ba);
 string dataEncoded = Server.UrlEncode(data);

Response.Redirect("http://www.project.com/page1.aspx?q=" + dataEncoded, false)

}


  public static byte[] ConvertToBytes(Object obj)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                BinaryFormatter bf = new BinaryFormatter();
                bf.Serialize(ms, obj);
                return ms.ToArray();
            }
        }


Что я уже пробовал:

Код кодируется и перенаправляется на страницу, указанную в response.redirect .
но после перенаправления он показывает 404 файл или каталог не найден ошибка,

но Страница 1.aspx активна в реальном времени.
если я опустил строку запроса и перенаправил страницу, она загружается правильно.

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

Afzaal Ahmad Zeeshan

Это происходит потому, что страница, на которую вы пытаетесь перенаправить, не существует или ожидает, что что-то дополнительное в URL-адресе сможет обработать запрос.

Вы не подумали проверить все это?

Member 13142345

Да страница активна и все параметры для перенаправления также есть на этой странице

1 Ответов

Рейтинг:
2

Afzaal Ahmad Zeeshan

Как вы уже упоминали в своем вопросе, эта проблема возникает, когда вы используете строку запроса и URL rewrite не может ее обработать. Это также упоминается в документации Microsoft, ЧПУ модуль конфигурации справочники | документы Майкрософт[^]. Возможно, вы пропустили QUERY_STRING конфигурация в ваших сопоставлениях в файле web.config; ты сделал?

Также аналогичные нити из так: Перезапись URL-адреса IIS не работает со строкой запроса - переполнение стека[^]