I read many articles about it and tested, but my problem has still not been resolved
I used UrlRoutingModule
to have friendly URL
In global.asax.cs
:
routes.MapPageRoute("", "HOME", "~/Default.aspx");
In web.config:
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>`
In IIS, Application Pool is in Classic mode
The following solutions are tested:
<modules runAllManagedModulesForAllRequests="true">
<validation validateIntegratedModeConfiguration="false" />
<remove name="UrlRoutingModule"/>
Routing worked on extensioned URL, for example when i changed routing rule in global.asax.cs
to
routes.MapPageRoute("", "HOME.aspx", "~/Default.aspx");
the URL "mysite/HOME.aspx" worked
This case, with exact this configuration is working on 2 other servers!
On this server, routing worked by set application pool to integrated mode
+ <validation validateIntegratedModeConfiguration="false" />
This is a bit of a shot in the dark because you mention that this configuration is working on some servers but not others.
As mentioned in this post, there is a bug in IIS that Microsoft has released a hotfix for that you might want to check the servers to see if they have been patched consistently for KB980368.
And as the article points out the problem only applies to .NET 4.0. Since you are (apparently) using .NET 3.5, you might want to double-check your application pool configurations to ensure they are all consistently set to .NET 2.0 and your web.config settings to ensure you are targeting .NET 3.5.
Do note that Microsoft officially ended support for .NET 4.0 on January 12, 2016, but support for .NET 3.5 SP1 will will continue until support ends for the OS you are hosting it on.