В IIS .net работает как расширение IIS.Это означает, что в запросе должно быть что-то, что IIS может распознать, чтобы узнать, что необходимо отправить запрос в .Net.Обычно это расширение файла, т.е. .aspx
, поэтому путь http://localhost/forms/user/login.aspx
работает из-за расширения .aspx
путь http://localhost/user/login
сам по себе не будетпередается в .NET для выполнения, если путь не существует и в папке есть default.aspx.
IIS7 решает эту проблему, поднимая .net в составную часть - интегрированный конвейер.
Вы можете заставить его работать с использованием подстановочного сопоставления или с помощью расширения, которое сопоставляется с .net - что и рекомендуется для MVC в IIS 6