The Requested URL Was Not Found (404) Error
Environment
| Product | Progress® Telerik® UI for ASP.NET AJAX |
Description
When working with Telerik UI for ASP.NET AJAX, I get a 404 error that the requested URL was not found.
Solution
To solve the issue, use any of the following approaches:
-
If the failing URL contains a session segment such as
/(S(...))/default.aspx, check whether the application uses cookieless session state. URI-based session state inserts the session identifier into the request path, and routing, URL Rewrite rules, or IIS path handling can reject the resulting URL with a 404. As a diagnostic, switch the application to cookie-based session state and test the page again:XML<sessionState mode="InProc" cookieless="UseCookies" timeout="80" />If the page loads with
UseCookies, the issue is related to the cookieless session URL rather than a Telerik.axdhandler. Keep the required session mode and timeout for your application, and update the routing, rewrite, or IIS configuration if URI-based session state is required. -
In the IIS management console, check that the
.axdextension (the default HTTP handler extension) is allowed under the Handler Mappings feature of IIS:
-
Click the Edit button as displayed in the previous screenshot to check if the Verify if file exists checkbox is unchecked.
-
If you are using Telerik® UI for ASP.NET AJAX, check if the
ScriptResource.axdHTTP handler is correctly registered in yourweb.configas shown in the following statement:ASP.NET<add path="ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>.NET 3.5 and IIS7 Integrated Mode: web.config The following statement has to be present in the
<handlers>section instead of<httpHandlers>:<handlers> <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />(For ASP.NET 4.0-4.8) Note that as of .NET 4.0 and later, the
ScriptResource.axdinstance is no longer needed in theweb.configfile. However, if you have it in yourweb.config, make sure that itsVersionvalue corresponds to the .NET version used by your Web Forms application. -
If you are using Telerik UI for ASP.NET AJAX and the ScriptManager, check if the
Telerik.Web.UI.WebResource.axdHTTP handler is correctly registered in yourweb.config:ASP.NET<add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false" />IIS7 Integrated Mode: web.config The following statement has to be present in the
<handlers>section instead of<httpHandlers>:<handlers> <add name="Telerik_Web_UI_WebResource_axd" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" preCondition="integratedMode" /> -
Check if there is a firewall, proxy, or other similar networking configuration that does not allow access to the
axdhandler.
Note the following popular threads on the 404 error: