Andy Andy - 9 months ago 130
Apache Configuration Question

How can I replace Apache HTTP code 404 to 200

I don't want the apache of a website return any HTTP code 404,

the reason is that the accreditation council will scan all the website,

many javascript links and some incidents will cause the 404 code,

in fact, those links are valid but that checker will misjudge error.

So, i want to prevent the apache to return HTTP code 404,

How can I configure apache return HTTP cods 200 instead of 404 and show my define error page?

Answer Source

From: http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html

  1. Create a blank file in your main web directory named 404.. can be blank.
  2. Add this to your .htaccess file:

    Redirect 200 /404
    ErrorDocument 404 /404
    

That will change the Apache ErrorDocument to the /404 file. But the Redirect line causes requests for /404 to issue a 200 OK response instead of a 404.

If that doesn't work it is due to rewrites no doubt. So if that's the case add this under those first 2 lines but above any other rewrite lines in your .htaccess file:

Options FollowSymLinks ExecCGI

RewriteEngine On
RewriteBase /

# If the requested file doesnt exist
# and if the requested file is not an existing directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^[^4]* /404 [L,S=4000]

Explained in more detail at: http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html#Automate_ErrorDocument_Triggering

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download