I have a website set up that uses a custom 404 error page. This seems to be working on most pages.
In fact, I have two different error pages that I want to show, and now a third that I just found out about.
This page, which does not exist, shows the correct error page that should be shown if a page cannot be found. This shows the error page as configured in my .htaccess file:
http://www.canadiancommuter.com/wontfindthis.php
This error page is generated from my PHP code if someone tries to access an old article that no longer exists in the database:
http://www.canadiancommuter.com/2334054466-some+old+article.html
However, this link, which will also generate a 404 error, shows a different error page (which usually includes advertising):
http://www.canadiancommuter.com/2012062500-TTC+asks+Ministry+of+Labour+to+treat+CNE+like+Rolling+Stones+concert%2FCaribana.html
I know the reason WHY this URL doesn’t work. I purposely added characters to it to cause it to return a 404 error. My problem is that I can’t figure out WHERE this other 404 error page is coming from.
It’s not in my .htaccess file, the error page from my .htaccess file can be seen in the first link above.
It’s not in my code. The only error page generated by the code itself can be seen in the second link above.
The only other places it could come from is my domain registrar, and my web host.
The domain is registered through one registrar, but points to my hosting account with another provider. The registrar says that because I’m just pointing the DNS for my domain to we web host the error page wouldn’t come from them, but would come from my web host.
My web host says this error page isn’t coming from them, but must be in my code.
I’ve heavily modified all of the code used for this site, so I’m pretty confident that the error page is not coming from there.
Does anyone have any ideas where I should look for this error page?
(Just a note, I’m not certain the registrar or the web host were entirely sure of what they were talking about, so I haven’t ruled out either of them as being the source of this page. However, a thorough look through the administrative consoles for both do not reveal anything to this effect.)
This is absolutely from your host provider!!
When %2F is given in url, nginx cannot handle that as an error (this might be a bug!) and it displays your host’s default error page, you can see the same error on other websites hosted on the same server as your site:
and there are many other websites on the same server as your site! (you can check their IP to be sure)
The last one uses custom error page, so with %2F the mysterious error page is shown!
You can also disable your custom error pages for a while and you will probably get the mysterious error page!