I received an error report from one of my users, but they forgot to note on which page. I tried doing a link check with Xenu to identify it, only to discover that if an error occurs on a page no 500 (or other) http status code is returned. It still returns a 200 page status code.
Is this intentionally? I would think the appropriate error code should be returned instead?
SilverStripe is only able to return the error if it's something that it can catch. Things like parse errors and timeouts can't be caught by SilverStripe, so the server responses with any output and the default status code of 200.