php - How to add an error page in a .htaccess file -


below .htaccess file. have default_rewrite.php file , content database have created.

rewriteengine on rewriterule ^/?([a-z0-9-_]*)$ default-rewrite.php?page=$1 [l] 

when go known broken link e.g http://www.example.com/test/fgdhfuis goes default rewrite page doesn't go page have stored in database. e.g

http://www.example.com/test/home 

i have tried errordocument 404 /404.php not me.

any advice appreciated.

below php edit:

<?php   if (!function_exists("getsqlvaluestring")) {   function getsqlvaluestring($thevalue, $thetype, $thedefinedvalue = "", $thenotdefinedvalue = "")    {   if (php_version < 6) {   $thevalue = get_magic_quotes_gpc() ? stripslashes($thevalue) : $thevalue;   }    $thevalue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($thevalue) : mysql_escape_string($thevalue);    switch ($thetype) {   case "text":   $thevalue = ($thevalue != "") ? "'" . $thevalue . "'" : "null";   break;       case "long":   case "int":   $thevalue = ($thevalue != "") ? intval($thevalue) : "null";   break;   case "double":   $thevalue = ($thevalue != "") ? doubleval($thevalue) : "null";   break;   case "date":   $thevalue = ($thevalue != "") ? "'" . $thevalue . "'" : "null";   break;   case "defined":   $thevalue = ($thevalue != "") ? $thedefinedvalue : $thenotdefinedvalue;   break;   }   return $thevalue;   }   }    $colname_page = "home";   if (isset($_get['page'])) {   $colname_page = $_get['page'];   if($colname_page == "")   $colname_page = "home";   }    mysql_select_db($database_vrmonline, $vrmonline);   $query_page = sprintf("select * page pagename = %s", getsqlvaluestring($colname_page, "text"));   $page = mysql_query($query_page, $vrmonline) or die(mysql_error());   $row_page = mysql_fetch_assoc($page);   $totalrows_page = mysql_num_rows($page);    mysql_select_db($database_vrmonline, $vrmonline);   $query_metadata = "select * metadata metadataid = 1";   $metadata = mysql_query($query_metadata, $vrmonline) or die(mysql_error());   $row_metadata = mysql_fetch_assoc($metadata);   $totalrows_metadata = mysql_num_rows($metadata);    ?> 

i tried

  $colname_page = "home";   if (isset($_get['page'])) {   $colname_page = $_get['page'];   if($colname_page == "")   $colname_page = "home";   if ($totalrows_page == 0)   {   $colname_page = "404-error";   } 

but makes every page go 404-error

having looked @ code, add:

if ($totalrows_page == 0) {  // 404 page logic } 

after first query, , set colname_page equal 404 page, make , put database. or can send 404 error in php using header('http/1.0 404 not found'); apache should use errodocument 404 page specified in .htaccess.


Comments

Popular posts from this blog

django - How can I change user group without delete record -

java - Need to add SOAP security token -

java - EclipseLink JPA Object is not a known entity type -