Мы собираемся провести серьезное обслуживание веб-сайта IIS 6 / ASP (Classic). Мы хотим, чтобы все посетители были перенаправлены на страницу «Скоро будет» (или что-то подобное). Это НЕ должно относиться к нашей команде разработчиков (работающей удаленно), поэтому мы хотели бы указать определенные IP-адреса, которые должны иметь доступ к строящейся площадке.
Как это можно сделать в IIS 6? (При необходимости используйте классический ASP)
Чтобы сделать это без изменения кода, в IIS6 можно сделать следующее:
Запретить доступ ко всем IP-адресам, кроме IP-адресов ваших разработчиков
(в диспетчере IIS6 перейдите в веб-каталог -> свойства -> Безопасность каталога -> «Ограничения IP-адреса и доменного имени»
Измените ответ об ошибке для http error 403.6, чтобы он указывал на вашу статическую html-страницу «Скоро».
(В диспетчере IIS6 перейдите в веб-каталог -> свойства -> «Пользовательские ошибки» -> щелкните строку для «403; 6» и отредактируйте местоположение, чтобы указать на ваш html-файл.)
Важный: Ваша html-страница должен быть достаточно большим, иначе многие версии Internet Explorer будут отображать так называемое "дружественное" сообщение об ошибке вместо вашего содержимого. Я считаю, что порог в том, что он должен быть больше 512 байт. Видеть: http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807
Создать default.asp
страница с кодом, подобным следующему:
<% IF Request.ServerVariables("REMOTE_ADDR") = special_ip_address THEN
Respose.Redirect("/standard_home_page.asp")
ELSE
Response.Redirect("/coming_soon.asp")
END IF %>