On Mon, Jul 9, 2018 at 9:49 AM David Wakelin <david@xxxxxxxxxxxxxxxxxx> wrote:I have created a file
404.html
to act as my 404 page that is returned byErrorDocument
:ErrorDocument 404 /404.html
This works fine, except when accessing
404.html
directly, which returns a status code of200
I've attempted a RewriteRule like so:
ErrorDocument 404 /404.html RewriteRule "404\.html" - [R=404]
However, this now returns an error instead of my
404.html
doc:The requested URL /does-not-exist.html was not found on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
How can I return a status of
404
for the404.html
document itself?I have seen solutions using PHP, but I am NOT using PHP and have no means to do so (I don't use mpm_prefork and I will not setup and run php-fpm just for a status code header)
Kind RegardsDavid WakelinYou could try checking the REDIRECT_STATUS per-request environment variable to try to determine if it's being accessed directly.Or maybe in mod_rewrite check %{THE_REQUEST} for /404.html -- I think this won't change as a result of internal redirects, error pages, etc.