I need to support dots in urls such as http://myserver/product/find?name=the.product.name
for a pool running in Classic mode.
There are good questions and answers here:
- Dot character '.' in MVC Web API 2 for request such as api/people/STAFF.45287
- Dots in URL causes 404 with ASP.NET mvc and IIS
but none of them work for an application pool running in Classic mode.
I have tried:
<httpRuntime relaxedUrlToFileSystemMapping="true">...
<modules runAllManagedModulesForAllRequests="true">...
<handlers><add name="ApiURIs-ISAPI-Integrated-4.0" path="/people/*" verb="..." type="System.Web.Handlers.ransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<modules>...<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" />
none of them work in Classic.
The only unacceptable workaround seem to be to add an trailing /
if the dot is in the URL or an extra parameter if the dot is in the params:
http://myserver/product/find.all/
http://myserver/product/find?name=the.product.name&useless=1
I cannot switch to Integrated.