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

How do you change vbulletin's home page to the forums instead of the default (CMS or Activity Stream)? -

c++ - Troubles when compiling phash program -