We have moved to GitHub Issues
Created by Nicholas Westby 06 Apr 2015, 23:42:00 Updated by Nicholas Westby 24 Feb 2017, 23:26:36
Relates to: U4-9567
I have a site with a single 404 page (nothing fancy). The site has support for internationalization, so I use a URL rewrite rule to allow for URL's like "/en-us/page" (that is rewritten as "/page?lang=en-us"). Problem is, my 404 page doesn't work for pages with certain extensions, such as:
Works fine for pages with a ".aspx" extension (though, my site uses extensionless pages without a trailing slash). There reason this is important is that this site replaces a legacy site with other types of extensions than found on the new site. Here are examples of pages that serve the correct 404 page:
Some information about my setup and other observations:
IIS 8.5 (I also see similar results when running from Visual Studio). Umbraco 7.2.4 (upgraded from 7.2.2, which was upgraded from 7.1.8). Can't remember if it applied to 7.1.8, but definitely applies to 7.2.2 and 7.2.4.
I suspect the cause of this is the
IsClientSideRequest function here: https://github.com/umbraco/Umbraco-CMS/blob/5397f2c53acbdeb0805e1fe39fda938f571d295a/src/Umbraco.Core/UriExtensions.cs#L143
Some background: http://issues.umbraco.org/issue/U4-9567
TLDR: That function prevents Umbraco from processing requests when the URL has an extension that isn't in a hardcoded whitelist.
Backwards Compatible: True
Affected versions: 7.2.2, 7.2.4
Due in version: