Получение IIS 6 для программного возврата определенного кода состояния HTTP с помощью Classic ASP - PullRequest
3 голосов
/ 03 января 2011

Я искал и не нашел подходящего ответа.

У меня есть пользовательская страница 404, которая при запуске:

  1. анализирует запрошенный URL для конкретной строки
  2. проверяет базу данных на это значение
  3. вставляет определенные заголовки HTTP на основе результатов, возвращаемых из db

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

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

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

Вот моя проблема...

Когда конкретная строка НЕ ​​НАЙДЕНА в моей базе данных, я не могу установить статус «404 Не найдено» и отображать пользовательский HTML в браузере.

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

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

Есть идеи о том, как настроить IIS 6 для того же действия с Classic ASP?

1 Ответ

2 голосов
/ 03 января 2011

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

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

...