I just updated a site so that it works better on phones and tablets. While updating I also cleaned up a lot of old code. In the process of cleaning up many of the old pages are no longer valid. Rather than redirecting to a generic page, I can redirect certain links to specific missing link pages. This is what I did for old manuals pages that I moved.
<?php
$oldurl = $_SERVER['REQUEST_URI'];
// Redirect requests for manuals
switch ($oldurl) {
case '/products/mobile/manual_1.php';
case '/products/mobile/manual_2.php';
case '/products/mobile/manual_3.php';
case '/products/mobile/manual_4.php';
etc.
header("Location: https://www.wellgolly.com/products/manuals_mobile.php",TRUE,301);
break;
}
?>
<div class="centered">
<h1>Error 404<br />Document not found</h1>
<img class='pure-img-responsive centered' src='/images/sad.png' alt='Sad' />
<p>We’re sorry, but the page you requested could not be found.<br />
Please use the menus at the top or bottom of this page to find what you are looking for.</p>
</div>
By parsing the $oldurl, you can redirect missing files from sections of your site to a missing page that can help your visitors find what they are looking for rather than just a generic page.