After an upgrade to the CMS 6 R2 I get "500 Internal Error response" everytime I surf into an expired page. Is this by desing in EPiServer or there is something missconfigured in my installation. I would normaly or would like to get a 404 - Page Not found for all unpublished pages.
When I try surf to a page that does not exist (and never did) I get my expected 404.
I am running my EPiServer in IIS 7.5 and have the following configuration:
<siteSettings globalErrorHandling="Off" />
<httpErrors defaultPath="/Error/DefaultError.aspx" defaultResponseMode="ExecuteURL">
<remove statusCode="404" subStatusCode="-1" />
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="404" path="/404.aspx" responseMode="ExecuteURL" />
<error statusCode="500" path="/500.aspx" responseMode="ExecuteURL" />
I cannot recreate the error locally on my machine, therefore I am not able to debug.
I am not sure whether the error is the current configuration of my IIS or my EPiServer site.
The default behaviour is to redirect the user to the login page. So maybe the error comes from the login page?
So if you want a 404, you have to implement this by yourself.
Hi Johan, when I was trying to recreate the problem locally I was being redirected to the login url, but in this case it returned 404. I found some differences in the web.config and in the IIS configuration and changed them locally so it was as close as possible to the one in the server. I know get a blank page with the text "Access denied", the status returned is 302 Found. I cannot recreate the 500 error I always get on my server.
It seems that it is now stopped before the login page, if I understand well the access denied comes from the expired page? or from the redirect to the login page? In this case the URL in the browser does not change.
Is this the case, as you mentioned, a problem with the URL?
Do you have any info on how to fix this problem? Any article or documentation will be highly appreciated.
Yes in the class PageBase the code throws an access denied. You can override this method and do whatever you want to, e.g. throw a 404.
Regarding the url, it depends on how you have configured the site. In your case you have ExecuteURL in responseMode.
Remove all your error handling to see what's really happening when you try to access the page.
Thanks for the help Johan, I found the method AccessDenied() in the PageBase, did an override and seems to work fine. Gonna do some further testing but working great so far. Cheers