Assuming non-existent-page.html does not exist, and the user is trying to access that page and triggered a 404 error.Can i show the requested page URL:http://www.example.com/non-existent-page.htmlinstead of the error page URL:http://www.example.com/404.htmlSolution:While looking at Stephen Ostermiller's answer i knew i was using a relative URL, but i realized it had a missing trailing slash at the end because i was pointing to a directory and not a page. This mostly occurs with some xSP with bad configurations.ProblemErrorDocument 404 /error/404  <-- no slashFixErrorDocument 404 /error/404/ <-- added slash
Have Apache show 404 at missing page URL instead of redirecting to error page URL
htaccess;apache;mod rewrite;url rewriting
Apache server can be configured to show the error page at the error URL, or it can redirect to the error page.   It is almost better to show the error page directly at the URL rather than redirecting to it.The Apache ErrorDocument directive explains how to implement it both ways:URLs can begin with a slash (/) for local web-paths (relative to the DocumentRoot), or be a full URL which the client can resolve.In practical terms, that means if you specify the error document as an absolute URL it will cause a redirect to the error page:ErrorDocument 404 http://www.example.com/404.htmlbut if you specify the error document as a relative URL starting with a slash, it will show the error document at the original URL where the error occurred:ErrorDocument 404 /404.htmlMy guess is that you have your ErrorDocument directive configured as an absolute URL either in your .htaccess file or your httpd.conf file.  You need to edit it to change it to a relative URL.