http://www.site.com/asd-dsa-sss-116.html
aynı şey benimde ilgilendiim bir sitede oldu bu şekilde çözdüm link yapım üstteki şekildeydi
get url değişkeni ile url yi alıorm sonra altta da olması gereken url yi söylüorm -seo_url- fonksonum veri tabanında türkçe karakterleri falan ayıklıyor str_replace yaparak -say[id] de aynı şekilde id yi yazıo üstteki linkteki gibi.

Web master tools tada bu şekilde yapınca sorun çözülmüştü.

$get_url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$url = "http://".$_SERVER['HTTP_HOST']."/".seo_url($say['url'])."-".$say['id'].".html";
//echo $get_url."
".$url;die();

if ($get_url<>$url) {
header( 'HTTP/1.1 404 Not Found' );
include( $_SERVER['DOCUMENT_ROOT'] . '/404.php' );
}
if($say){ ?>





404 sayfa normal html template en üstünde ise bunlar yer almakta

header("HTTP/1.0 404 Not Found");
header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
header("Expires: -1");
?>