Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > url rewrite IIS7


Автор: Magnetic 26.7.2009, 12:47
Если на сайт поступают ссылки на несуществующие папки и несуществующие файлы (или файлы не удовлетворяющие шаблону регулярных выражений), надо перенаправление на дефолтную страницу. Для существующих медиа файлов, ссs и подобных, загрузка должна осуществляться стандартным образом. Хотелось бы сделать без ISAPI_rewrite и тому подобного, т. к. не факт, что найдется подходящий хостинг с этими возможностями. Пробовал решать проблему через обработчик ошибки 404,  но тогда во viewstate не сохраняются введенные данные формы. Еще в IIS делал сопоставление обработчика, так чтобы все запросы шли на asp.net. Этот способ удобный, но если ссылка идет на существующий не asp.net файл, например, изображение, asp.net бросает исключение. Если есть несложный способ сделать, чтобы asp.net существующие не asp.net файлы отправляла браузеру как есть без значительного снижения производительности по сравнению с обычной загрузкой этих файлов в браузер, то это будет подходящее решение.

Автор: sergey_85 26.7.2009, 15:03
Посмотри здесь -http://www.urlrewriting.net/160/en/documentation.html

Автор: Magnetic 26.7.2009, 20:44
sergey_85, там предлагается сделать то же, что я описал в посте - назначить asp.net обработчиком всех запросов, отсюда возникает проблема, которую я тоже указал вначале. Остальное в документе связано с обработкой запроса asp.net'ом, но если ничего не настраивать на iis, запрос на несуществующую папку или файл до asp.net не дойдет.

Автор: Magnetic 30.7.2009, 00:11
Нашел информацию о том, что в IIS7 можно зарегистрировать модуль .NET, который реализует интерфейс System.Web.IHttpModule. В этом модуле можно реализовать логику перенаправления или использовать готовый модуль. Кому интересно, можно почитать об этом http://developernotes.net/post/urlrewriting-in-asp-net-4.aspx.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)