I'm still at a total loss as to what could have happened and have a very irate customer on my hands. We done some more research and found the following. Any input gratefully received (hell - we'll even pay you!)
http://sitea.myintranet.com “Default.aspx” problem
Symptoms
Within DNN there are three (at least) types of link to access a page. Only the first and second are in use on this site as far as I see, but all three should work.
The first and third work OK.
1 - This works (User Friendly URLS – used more recently):
http://sitea.myintranet.com/News/2008newsarchive/September2008/WinningheartsandmindsinKarachi/tabid/593/Default.aspx
2 - This does not (older style without friendly URLs) :
http://sitea.myintranet.com/Default.aspx?tabid=593
3 - This works (but not in use on site):
http://sitea.myintranet.com/tabid/593/Default.aspx
Ref (2) - the lower case version of the older style does work :
http://sitea.myintranet.com/default.aspx?tabid=593
Some experiments:
Mixed case for the working URLs does not affect the link.
The default.aspx works if you have ALL upper case or mixed – just not “Default.aspx” !!!
E.g. these work:
http://sitea.myintranet.com/DEFAULT.ASPX?tabid=593
http://sitea.myintranet.com/DEfAULt.ASpX?tabid=593
http://sitea.myintranet.com/Default.aspX?tabid=593
What is happening ?
What is actually happening when we call default.aspx rather than Default.aspx ?
The module must be found in all cases – otherwise it would fail with a 404 message.
Example:
http://sitea.myintranet.com/default2.aspx?tabid=593
So how can it be found and yet not be handling the request ?
If this were a UNIX platform we could assume that we have two files but this is not the case in Windows (is it ???).
Note also that the failure action is to take you to the home page.
This is the same default action if you try to access an invalid page ID, e.g.
http://sitea.myintranet.com/default.aspx?tabid=1
(Note that the URL changes after arrival at home page).
When you used the “Default.aspx” page, it takes you to home page but leaves the URL as is:
http://sitea.myintranet.com/Default.aspx?tabid=1
Interestingly if you use a higher invalid page number it takes you to the Login page:
http://sitea.myintranet.com/default.aspx?tabid=999
The “Default.aspx” page still fails be going to the home page with the URL showing.
Is it possible that a DNN error handler is involved here ? E.g. Why does the user get redirected to different pages depending on the invalid tabid ?
The symptoms seem to suggest that the error lies outside of DNN.
Has the HTML Editor been updated at any stage?
IIS
Is IIS configured correctly ?
Has it changed.
Are there any redirect page handlers setup ?
Restart
Have we / can we tried:
Restarting DNN App (I believe this can be done within Host account)
Reinstalling DNN for the site
Restarting IIS
Restarting SQL Server
Restarting the Server
Date of Reported Error
When was error noted ?
Although the user reported the error recently – it may have been a problem for some time. The friendly URLs seem to have been introduced around September 2008, so is it possible that the fault was actually introduced some time ago but users have only juts noticed ? That is – the system change that caused this may not have been a very recent one (which we are assuming).
User Site management
How do users maintain this site?
It seems to be built on Text modules with users adding new links to News pages by adding a new row to a Table. This relies on them getting the URL right in the first place. I assume they simply cut&paste – which is why the latter links use the friendly URLs.
Not sure if any of this is relevant, but it would be good to know.
Error Log
There are some recent errors reported in Error Log but these do not seem to relate to this problem.
Is there additional site logging we can switch on – either at DNN or ISS level ?
Friendly URLs
Is it possible that the Friendly URL Rules are involved ? Maybe they are invoked when using the old style URLs ?
Example:
[^?]*/TabId/(\d+)(.*) ~/Default.aspx?TabId=$1
Could we try change the target URL to use lower case ?
BEWARE – THIS CAN SCREW YOUR SITE UP- if you enter an invalid value you cannot use the site.
Solution - switch to Design mode to edit back to original value.
Note that WA site has fewer friendly settings; it does NOT have:
DesktopDefault.aspx(.*)
.*EditModule.aspx(.*)
However, a standard installation I tried has the same 5 settings as the lubricants site.
On a related matter one of the friendly URLs refers to “DesktopDefault.aspx”
If you use this module, with case as above, this DOES work (but not sure what the DesktopDefault module is):
http://sitea.myintranet.com/DesktopDefault.aspx?tabid=593
Google Web search
This did not show anyone else with this problem.
Out of interest, this module seems to be a helper to manage Friendly URLs – note that it shows various examples using upper and lower case versions of default.aspx.
See:
http://www.dnncreative.com/Tutorials/DNNTutorialsforThirdPartyModules/iFinityURLMasterModule/tabid/492/Default.aspx
Site Aliases
Also tested the various pages on the aliases – same problem, which is not surprising.
Test Module
I have created a test module (there was already an existing test page).
You have to be in as Admin to access.
Target page:
http://sitea.myintranet.com/Test2/tabid/1197/Default.aspx
Test Page:
http://sitea.myintranet.com/Testform/tabid/1204/Default.aspx
You click on the “Link1” etc. to follow the link.
The links I set up are as follows:
Link1 http://sitea.myintranet.com/Test2/tabid/1197/Default.aspx
Link2 http://sitea.myintranet.com/tabid/1197/Default.aspx
Link3 http://sitea.myintranet.com/Default.aspx?tabid=1197
Link4 http://sitea.myintranet.com/default.aspx?tabid=1197
Link5 http://sitea.myintranet.com/DesktopDefault.aspx?tabid=1197
Result – problem is still there (Link 3 fails).