2011-01-03 2 views
3

Я искал и не нашел подходящего ответа.Получение IIS 6 программным кодом с определенным кодом HTTP-кода

У меня есть 404-страница, которая, когда срабатывает:

  1. разбирает требуемый URL для конкретной строки
  2. проверяет базу данных для этого значения
  3. вставки конкретного HTTP заголовок (ы) на основе результаты вернулся из БД

в зависимости от состояния, я пошлю это в браузере:

Response.AddHeader "Location", a_dynamic_url 
Response.Status = "301 Moved" 

Когда конкретная строка найдена в моей базе данных, клиентский браузер ведет себя по желанию, загружая динамический URL, который я установил в заголовке местоположения.

Вот мой вопрос ...

Когда конкретная строка не найдена в моей базе данных, я не могу установить статус «404 Not Found» и отображения пользовательского HTML в браузере.

Я могу сделать то или другое, но не оба одновременно. Это либо статус 404, либо пользовательский HTML (со статусом 200).

Наоборот, если вы используете HTTP Fox в Firefox для просмотра заголовков запроса/ответа, перейдите к неизвестному URL-адресу bit.ly (например: «bit.ly/asdfasdf»), возвращаемый статус - 404, а HTML это обычай.

Любые идеи о том, как я могу установить IIS 6, чтобы сделать то же самое с классическим ASP?

ответ

2

Знаете ли вы о «IE Friendly Errors» и 512 байтах содержимого, которое должен иметь ваш HTML, чтобы убедиться, что ваш HTML (а не дружественный статус сообщения IE) отображается вашим пользователям?

http://weblogs.asp.net/scottgu/archive/2006/04/09/442332.aspx

+0

Первое, что я обнаружил, что я исказил один аспект моего вопроса. Я получал панель инструментов Google «Ooops, эта ссылка кажется нарушенной». Я на самом деле попытался поместить на страницу несколько разных материалов, чтобы убедиться, что размер был достаточно большим, но, видимо, я не поставил достаточно. Я добавил около 1000 строк прокомментированного мусора, и ответ работал так, как мне было нужно. Спасибо, что указал мне в правильном направлении. (предыдущий комментарий удален.) – Brian

Смежные вопросы