url rewriting

papuas
Дата: 24.05.2010 12:24:52
всем привет,
не подскажите или не кините ли ссылкой, чтобы понять, как написать правило, которое бы переписывало все урлы на mypage.aspx?url={R:1}, кроме урлов, которые физически существуют на сервере. То есть идет обращение к урлу - если существует такая папка-файл, то не переписывать, если не существует - то переписывать.
спасибо
Starlex
Дата: 24.05.2010 12:36:40
papuas,

А чем не устраивает настройка в web.config?

    <customErrors mode="On" defaultRedirect="mypage.aspx">
       <error statusCode="404" redirect="mypage.aspx?code=404"/>
    </customErrors>
papuas
Дата: 24.05.2010 12:53:10
Starlex
papuas,

А чем не устраивает настройка в web.config?

    <customErrors mode="On" defaultRedirect="mypage.aspx">
       <error statusCode="404" redirect="mypage.aspx?code=404"/>
    </customErrors>



спасибо за предложение, но не хотелось бы отдавать браузеру 404 статус
Starlex
Дата: 24.05.2010 13:07:10
papuas,

Если был запрос к несуществующей странице, браузеру Вы отдаёте страницу mypage.aspx. А что будет на этой странице, Вам решать.
papuas
Дата: 24.05.2010 13:21:53
Starlex
papuas,

Если был запрос к несуществующей странице, браузеру Вы отдаёте страницу mypage.aspx. А что будет на этой странице, Вам решать.


да-да, поисковики-то все равно будут 404 получать
oleginn
Дата: 24.05.2010 19:15:04
papuas,

Не, не будет, если был редирект на mypage.aspx, в которой не указывался 404 статус (програмно)

Вообще, имхо, на отсутствие страницы делать редирект не очень хорошо, так как в адресной строке вы не увидите урл страницы, которя вызывает 404 статус. Лучше ловить эксепшн и делать трансфер на mypage.aspx
papuas
Дата: 26.05.2010 12:04:41
oleginn,

интересное решение, но все-таки хотелось бы как-то поймать реквест до ошибки и переписать урл.
есть способ прикрутить свой модуль, чтоб он ловил реквест, но у меня почему-то не получилось заставить это работать в integrated mode, пришлось менять на classic