httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eric Covener <cove...@gmail.com>
Subject Re: [users@httpd] Can I return a 404 for a file that is also the ErrorDocument?
Date Mon, 09 Jul 2018 14:33:41 GMT
On Mon, Jul 9, 2018 at 9:49 AM David Wakelin <david@aplpackaging.co.uk>
wrote:

> I have created a file 404.html to act as my 404 page that is returned by
> ErrorDocument:
>
> ErrorDocument 404 /404.html
>
> This works fine, except when accessing 404.html directly, which returns a
> status code of 200
>
> 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 the 404.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 Regards
>
> David Wakelin
>
>
>
> www.aplpackaging.co.uk   david@aplpackaging.co.uk   01903 202 333
>
​
You 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.



-- 
Eric Covener
covener@gmail.com

Mime
View raw message