somejkuser
somejkuser

Reputation: 9030

apache conf errordocument not working for declared 404 header in php

I am issuing a 404 in my coupon.php page:

<?php
$id=$_GET['cid'];
$rs=mysqli_fetch_assoc(mysqli_query($scx_dbh,"select * from locations where locid=$id"));
if($rs==NULL){
  header("HTTP/1.0 404 Not Found");
}

Inside my apache config httpd.conf I have the following declared:

ErrorDocument 404 /404.html

However when i go to the page that issues the 404 it does not load the error document but just shows a browser error stating a 404. It only seems to load when a page does not exist, not when i issue a 404 in php.

Any help would be appreciated

Upvotes: 0

Views: 145

Answers (1)

ajdi
ajdi

Reputation: 454

Sending a 404 error using header("HTTP/1.0 404 Not Found"); will only tell the end browser that there was an error finding this page. It won't show your custom error page.

If you want to show the end user an error page, you will need to include or redirect to it.

Place either of the two below options under your 404 header.

Include Option

include('/path/to/404.html);

Redirect Option

header("Location: /path/to/404.html");

Upvotes: 1

Related Questions