Вам нужна URL-маршрутизация ASP.NET, и она доступна с .NET 3.5 SP1.
В вашем случае, я думаю, что вместо "переписывания" проще "проложить маршрут", и его проще использовать.
В маршрутизации ASP.NET вы определяете шаблоны URL, содержащие заполнители
для значений, которые используются при обработке запросов URL. Во время выполнения,
части URL, следующие за именем приложения, разбираются на
дискретные значения, основанные на шаблоне URL, который вы определили. За
Например, в запросе на
http://server/application/Products/show/beverages, парсер маршрутизации
может передать значения Продукты, шоу и напитки обработчику для
запрос. Напротив, в запросе, который не управляется маршрутизацией URL,
фрагмент / Продукты / шоу / напитки будет интерпретирован как путь
файла в приложении.
Вы также можете использовать шаблоны URL для программного создания URL, которые
соответствуют маршрутам. Это позволяет вам централизовать логику для
создание гиперссылок в вашем приложении ASP.NET.
Маршрутизация ASP.NET и перезапись URL
Маршрутизация ASP.NET отличается от других схем перезаписи URL. URL
перезапись обрабатывает входящие запросы путем фактического изменения URL
перед отправкой запроса на веб-страницу. Например,
приложение, использующее перезапись URL, может изменить URL с
/ Продукты / Виджеты / to /Products.aspx?id=4. Также перезапись URL
как правило, не имеет API для создания URL-адресов, основанных на
ваши шаблоны. При изменении URL-адреса, если вы измените шаблон URL, вы должны
вручную обновите все гиперссылки, содержащие исходный URL.
При маршрутизации ASP.NET URL-адрес не изменяется при входящем запросе.
обрабатывается, потому что маршрутизация может извлекать значения из URL. Когда ты
необходимо создать URL, вы передаете значения параметров в метод, который
генерирует URL для вас. Чтобы изменить шаблон URL, вы измените его в
одно местоположение, и все ссылки, которые вы создаете в приложении
которые основаны на этом шаблоне, будут автоматически использовать новый шаблон.