Использовать ASP.NET Routing . Это самый современный и правильный способ сделать это, поскольку .NET 4.0 .
Прочитайте эту основательную статью , касающуюся темы, написанной командой MSDN (перейдите к Какой вариант следует использовать? ).
Маршрутизация сохраняет логику разрешения ресурсов запросов в вашем приложении, поэтому очень легко добавлять зависимую от приложения логику, когда вам это необходимо, и это устраняет необходимость поддерживать синхронизацию между вашим приложением и отдельным ресурсом конфигурации.
Цитата из упомянутой статьи:
Если вы разрабатываете новое веб-приложение ASP.NET, которое использует либо
ASP.NET MVC или технологии динамических данных ASP.NET, используйте ASP.NET
маршрутизации. Ваше приложение получит встроенную поддержку для очистки
URL-адреса, в том числе создание чистых URL-адресов для ссылок в вашем Интернете
страницы. Обратите внимание, что маршрутизация ASP.NET не поддерживает стандартные веб-формы.
приложений пока нет, хотя есть планы поддержать его в
будущее.
Если у вас уже есть устаревшее веб-приложение ASP.NET и вы делаете
не хотите его менять, используйте модуль перезаписи URL. Переписать URL
модуль позволяет переводить удобные для поисковых систем URL-адреса в формат
что ваше приложение в настоящее время использует. Кроме того, он позволяет создавать
правила перенаправления, которые можно использовать для перенаправления поисковых роботов поисковых систем
убирать URL.
Также прочтите этот подробный ответ в SO: Перезапись URL IIS против маршрутизации URL