Sometimes you want to have a normal .aspx page in your Umbraco
site that you would like to function as a normal page (i.e. doesn't
get served by Umbraco). If you do, don't forget to update your
umbracoReservedUrls setting in the web.config.
To allow a standalone .aspx page to function as normal, let
Umbraco know that it shouldn't interfere with requests for that
page by adding it to the umbracoReservedUrls in the web.config. If
you don't, you'll get the nasty Umbraco "Page not found - No
umbraco document matches the url
'http://localhost/default.aspx?umbPage=/whatever.aspx' page.
The default.aspx page in Umbraco is the page that shows
this lovely error. When you request a node that Umbraco can't
find, you get bumped to this page. In my case, I'd deleted the
default.aspx page by mistake because I was copying across
.aspx pages from my UserControls web application project. My
post-build event was copying across all .aspx pages, including one
called Default.aspx (this is created for you when you create a new
project in Visual Studio). I didn't need the default.aspx page, so
I deleted it. Ha!
So now I'm requesting my whatever.aspx page. Umbraco doesn't
know to ignore the request because I haven't set the
umbracoReservedUrls setting. It tries to bump me to the
default.aspx page - which doesn't exist. So I get a 404 on
default.aspx, and I can't work out why!
I couldn't for the life of me work out why it was trying to
request /default.aspx, but in the end I updated the
umbracoReservedUrls setting in the web.config to include the url of
my non-Umbraco .NET page and now it's fine. I also copied back
in the original default.aspx page, and now everything works as
expected.
Hopefully that'll save someone else some hair-pulling!
David